Compare commits

...
Author SHA1 Message Date
Jacob Overgaard eb4fc97c5d update backoffice submodule (datepicker hotfix) 2024-07-16 09:22:47 +02:00
Jacob Overgaard f6074b4c32 bump version to 14.1.1 2024-07-15 14:31:37 +02:00
Zeegaan e4b776a56c bump version 2024-07-10 11:53:07 +02:00
Jacob Overgaard fd3f77c477 update backoffice submodule (hotfix ufm) 2024-07-10 11:50:40 +02:00
Jacob Overgaard 58a766293e update backoffice submodule 2024-07-05 13:29:59 +02:00
Jacob Overgaard 4283f34fd1 update backoffice submodule 2024-07-05 11:05:18 +02:00
Jacob Overgaard a79f2705da introduce an "other changes" category 2024-07-05 09:10:19 +02:00
Jacob Overgaard d3fe69afe4 add type/improvement to list of bug fixes 2024-07-05 09:05:42 +02:00
Nikolaj Geisle dd67fd16fe Merge branch 'v14/dev' into release/14.1 2024-07-04 09:20:38 +02:00
Ronald BarendseandBjarke Berg 33338add76 Support parsing object to DateTimeOffset and preserve timezone offset (#16732)
(cherry picked from commit 4643b7dba3)
2024-07-04 07:36:58 +02:00
Ronald BarendseandGitHub 4643b7dba3 Support parsing object to DateTimeOffset and preserve timezone offset (#16732) 2024-07-04 07:36:09 +02:00
Lee KelleherandGitHub 0a9df3c105 V14: OpenAPI: Explicitly set ByRelationTypeKey endpoint name (#16729)
This is because of an `operationId` name clash with `ByKeyRelationTypeController.ByKey`,
ref: https://github.com/umbraco/Umbraco-CMS/blob/release-14.0.0/src/Umbraco.Cms.Api.Management/Controllers/RelationType/ByKeyRelationTypeController.cs#L27

This change attempts to ensure a unique `operationId` in the OpenAPI/Swagger JSON.
2024-07-03 12:54:31 +02:00
Lee KelleherandGitHub 32fe23ba41 V14: Expose Umb-Notifications HTTP header (#16728)
Enables client-side dev env to access the custom header.
2024-07-03 11:25:44 +02:00
6069610f83 v14: Implement backoffice signalR hub (#16723)
* Implement backoffice signalR hub

* Fix test

* Refactor to use object instead of string

* Update src/Umbraco.Cms.Api.Management/Routing/BackofficeHub.cs

Co-authored-by: Bjarke Berg <mail@bergmania.dk>

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2024-07-02 17:14:43 +02:00
Sven GeusensandGitHub 46acd51759 [V14] Make the backend work with the new localLinks format (#16661)
* 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)
2024-07-02 14:22:19 +02:00
Jacob OvergaardandGitHub 13b77d35df V14: Build and publish Typedoc docs (#16724)
* rename display names of 'ui docs' to 'storybook'

* add new jobs to build and publish the ui-api docs (typedoc) to the blob storage
2024-07-02 09:40:53 +02:00
Jacob Overgaard ecd6e05c48 Merge remote-tracking branch 'origin/release/14.1' into v14/dev 2024-07-02 09:08:18 +02:00
Jacob Overgaard 9efcc4d8ed Merge branch 'release/14.1' into v14/dev 2024-07-02 09:05:46 +02:00
d2707acd3b V14: Create seperate Create and Update in ContentTypeServiceBase (#16714)
* Create seperate Create and Update in ContentTypeServiceBase

* Fix up notification for update

---------

Co-authored-by: nikolajlauridsen <nikolajlauridsen@protonmail.ch>
2024-07-01 15:29:42 +02:00
Jacob OvergaardandGitHub 2122af7e96 V14: Build and release the type declarations of the Backoffice to npm (#16718)
* 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
2024-07-01 12:23:58 +02:00
Jacob Overgaard 2185be1b03 update backoffice submodule 2024-06-28 15:26:28 +02:00
Zeegaan 2010a241fe Bumb version 2024-06-28 09:30:06 +02:00
Sven GeusensandZeegaan 921598b667 Fixed toolbar not showing for seeded,untouched and then migrated RTE datatypes (#16665)
Moved 14.1 migrations into their own namespace

Co-authored-by: Sven Geusens <sge@umbraco.dk>
(cherry picked from commit d170193a95)
2024-06-28 09:29:55 +02:00
d170193a95 Fixed toolbar not showing for seeded,untouched and then migrated RTE datatypes (#16665)
Moved 14.1 migrations into their own namespace

Co-authored-by: Sven Geusens <sge@umbraco.dk>
2024-06-28 09:28:55 +02:00
Bjarke Bergandnikolajlauridsen 2fa4149b62 Use the configured backoffice url to initialize openiddict if it is available and just fallback to the one from the first request. (#16660)
Fixes https://github.com/umbraco/Umbraco-CMS/issues/16179
2024-06-27 10:49:19 +02:00
Bjarke BergandGitHub 1ea65c1fb2 Use the configured backoffice url to initialize openiddict if it is available and just fallback to the one from the first request. (#16660)
Fixes https://github.com/umbraco/Umbraco-CMS/issues/16179
2024-06-27 10:47:41 +02:00
Jacob Overgaard ed220035ef backoffice submodule release/14.1 2024-06-26 14:40:57 +02:00
Jacob Overgaard dacd324c9a Merge remote-tracking branch 'refs/remotes/origin/v14/dev' into release/14.1
# Conflicts:
#	src/Umbraco.Web.UI.Client
2024-06-26 14:26:04 +02:00
Jacob Overgaard 195d8b5843 backoffice submodule release/14.1 2024-06-26 13:33:07 +02:00
Jacob Overgaard 1774d4e234 update backoffice submodule 2024-06-26 13:32:28 +02:00
Jacob Overgaard f1b54fe426 fix login build errors 2024-06-26 11:34:52 +02:00
Jacob Overgaard bb058c4f89 update lockfile 2024-06-26 11:22:45 +02:00
Sebastiaan Janssen 3ce2e97f5e Merge branch 'v14/dev' into contrib 2024-06-26 10:45:31 +02:00
Jacob Overgaard 7e8dd02e79 update backoffice submodule 2024-06-26 10:32:45 +02:00
Nikolaj GeisleandGitHub 8ca637d0cb V14: Fix source code editor not showing on fresh install / upgrade (#16655)
* Create richtext with sourcecode by default

* Add rich text migration

* Create migration for migration "ace" value to "sourcecode"
2024-06-26 10:18:05 +02:00
Andreas ZerbstandGitHub 0b868638e0 V14 QA updated dictionary naming in E2E test (#16657)
* Updated naming

* Bumped version of helper
2024-06-25 17:24:47 +02:00
Bjarke Berg 37d22766b1 Merge remote-tracking branch 'refs/remotes/origin/v13/dev' into v14/dev 2024-06-25 14:10:22 +02:00
Bjarke BergandGitHub 0afb4f7283 Make GetHeaderValue support HttpContext unavailable (#16654)
* Make GetHeaderValue tolerant for when the http context is not available. Now it just returns null.

* Add unit tests
2024-06-25 13:47:25 +02:00
Bjarke BergandGitHub a01be0d16f Merge pull request #16653 from umbraco/v14/nuget-update-2024-06-25
Nuget update 2024 06 25
2024-06-25 12:03:20 +02:00
Bjarke Berg 3c34eaf739 Updated nuget packages 2024-06-25 11:20:52 +02:00
Bjarke Berg 3c3d9269ca Merge remote-tracking branch 'refs/remotes/origin/v13/dev' into v14/dev
# Conflicts:
#	Directory.Packages.props
2024-06-25 10:34:20 +02:00
Kenn JacobsenandGitHub 76bb2b0847 Add endpoint for calculating effective user start nodes (#16609)
* Add endpoint for calculating effective user start nodes

* Fix OpenAPI
2024-06-25 10:34:16 +02:00
Bjarke BergandGitHub 215fc4378e Merge pull request #16652 from umbraco/v14/feature/merge-2024-06-25
Code changes from V13.4
2024-06-25 10:32:27 +02:00
Bjarke Berg 9ad67e27c5 Fixed test by moving when the publishing notification is fired. 2024-06-25 10:03:19 +02:00
Bjarke Berg bda23c35e3 Merge remote-tracking branch 'refs/remotes/origin/v14/dev' into v14/feature/merge-2024-06-25
# Conflicts:
#	src/Umbraco.Web.UI.Client
2024-06-25 08:47:38 +02:00
Bjarke Berg 4cfa021132 Merged v13/dev into v14 2024-06-25 08:44:36 +02:00
Jacob Overgaard 2a57af8240 update backoffice submodule 2024-06-24 14:52:49 +02:00
Josh BrownandGitHub cb090353f4 Fix unguarded calls to ServiceDescriptor.ImplementationType for keyed services (#16604)
* 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
2024-06-22 10:20:12 +01:00
Lars-Erik AabechandGitHub de74ae4c04 Added custom mvc setup method to testserver base class (#16545) 2024-06-21 16:43:30 +01:00
georgebid 53139a1046 Revert "test"
This reverts commit 462903397f.
2024-06-21 16:23:35 +01:00
georgebid 462903397f test 2024-06-21 16:22:40 +01:00
Nikolaj Geisle e3d65967aa Bump version.json 2024-06-20 14:45:13 +02:00
Nikolaj Geisle 73408f1cce Merge branch 'release/13.4' into v13/dev 2024-06-20 14:44:40 +02:00
Andreas ZerbstandNikolaj Geisle 6e3a6917c8 Decreased to 1 retry for this file only (#16623) 2024-06-20 11:30:22 +02:00
Andreas ZerbstandNikolaj Geisle b2b112eb8b V13 QA Updated depedencies (#16606)
* Bumped version of helper and builder

* Removed faker
2024-06-20 11:30:21 +02:00
MoleandNikolaj Geisle 56710d5b5b V13: Eaglery route domains for virtual page controllers (#16635)
* Do domain routing eagerly

* Cleanup

* Fix comment
2024-06-20 11:30:11 +02:00
MoleandGitHub 00ca9e0d2d V13: Eaglery route domains for virtual page controllers (#16635)
* Do domain routing eagerly

* Cleanup

* Fix comment
2024-06-20 11:25:02 +02:00
Bjarke BergandGitHub f717a5d0b7 Simplified how we disable the TransportSecurityRequirement in OpenIddict (#16629) 2024-06-20 10:39:24 +02:00
Bjarke BergandGitHub 75c42f4ea4 Added post configuration of OpenIddictServerOptions that removes the ValidateTransportSecurityRequirement iff globalsettings.usehttps is false. (#16614) 2024-06-19 15:21:57 +02:00
Kenn JacobsenandGitHub 1f52d01493 Do not rely on claims to figure out user access + prepare for claims removal (#16552)
* 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)
2024-06-19 15:19:31 +02:00
Andreas ZerbstandGitHub 65c76fcfab Decreased to 1 retry for this file only (#16623) 2024-06-19 09:49:04 +02:00
a686ba2a0e V13: Update nuget packages (#16616)
* Update nuget packages

* Fix Imagesharp 2

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2024-06-19 07:50:52 +02:00
Andreas ZerbstandGitHub 01909ca204 V14 QA Users acceptance tests (#15916)
* 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
2024-06-18 13:36:00 +02:00
Nikolaj GeisleandGitHub 8edb1885c9 Add missing translations (#16612) 2024-06-18 10:40:59 +02:00
Nikolaj Geisle 344245b1ea bump to final version 2024-06-18 10:05:36 +02:00
Nikolaj Geisle 82b4f506c2 bump version to rc2 2024-06-18 09:08:40 +02:00
dependabot[bot]andJason Elkin 8e98c1e023 Bump braces from 3.0.2 to 3.0.3 in /tests/Umbraco.Tests.AcceptanceTest
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-17 16:57:09 +01:00
Andreas ZerbstandGitHub 5e31fde416 V13 QA Updated depedencies (#16606)
* Bumped version of helper and builder

* Removed faker
2024-06-17 10:49:16 +02:00
Kenn JacobsenandGitHub a64dbe12a1 OpenIddict should only handle /umbraco/ requests (#16549) 2024-06-10 13:31:51 +02:00
Jacob Overgaard fe559c20ab set version to 14.1.0-rc 2024-06-10 12:11:24 +02:00
Jacob Overgaard 4d7e722b99 bump version back to 14.1 2024-06-10 12:09:39 +02:00
Jacob Overgaard 777bb4cd57 Merge remote-tracking branch 'refs/remotes/origin/contrib' into v14/dev 2024-06-10 11:28:04 +02:00
Matt DarbyandMatthew-Wise 0bb46b9667 Fix broken logo URL + replace old nonodes background 2024-06-10 10:23:52 +01:00
Jacob Overgaard fc9de30604 update backoffice submodule 2024-06-10 10:29:18 +02:00
46c0b66a70 V14 Adding unhappy path tests for Member and Member Group (#16564)
* 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>
2024-06-07 12:53:54 +02:00
Zeegaan 24abc117fe update version.json 2024-06-07 12:50:46 +02:00
MoleandGitHub 5ae5fe338a V13: Set request culture for VirtualPageController (#16572)
* Rename FindDomain to FindAndSetDomain

* Ensure VariationContext and PublishedRequest is updated for virtual page controller
2024-06-07 12:49:13 +02:00
Nhu DinhandGitHub d5176d668d V14 Added acceptance test for Document Blueprint (#16563)
* 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
2024-06-07 11:33:36 +02:00
b04e4d7586 V14: Add missing action parameters mapping (#16557)
* Add missing mapping for ActionParameters

* Remove -ActionParameters as that is now mapped

* Update OpenApi.json

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
2024-06-07 10:22:13 +02:00
42ce64c357 V14 QA Fixed DocumentType and MediaType tests (#16539)
* Changed name of locator click

* fixed tests

* Bumped version of testHelpers

* Update tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/DocumentType/DocumentTypeDesignTab.spec.ts

Co-authored-by: Nhu Dinh <150406148+nhudinh0309@users.noreply.github.com>

---------

Co-authored-by: Nhu Dinh <150406148+nhudinh0309@users.noreply.github.com>
2024-06-07 08:06:06 +02:00
71199b3323 V14 Added acceptance tests for Data Type - p2 (#15873)
* 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>
2024-06-06 14:36:49 +02:00
Zeegaan 5f8eac0464 bump version.json 2024-06-06 10:22:18 +02:00
Zeegaan fc951ee100 Merge branch 'release/13.4' into v13/dev 2024-06-06 10:21:53 +02:00
Nikolaj GeisleandGitHub ebf77024ce V14: Add clearer error for invalid property type (#16530)
* Add clearer error for invalid property type

* Update test
2024-06-06 08:54:47 +02:00
Nikolaj Geisle 78bf04ef67 bump version.json 2024-06-04 14:56:22 +02:00
Andreas ZerbstandGitHub ae7db56f77 Decreased retry count (#16554) 2024-06-04 14:25:57 +02:00
Kenn JacobsenandGitHub 3dace4fc9d RTE and media picker should route medias the same way in the Delivery API (#16550)
* RTE and media picker should route medias the same way in the Delivery API

* Fix failing unit test

* Fixed failing tests
2024-06-04 10:32:37 +02:00
Nikolaj GeisleandGitHub 32912b0c35 Update to query to SqlRaw (#16542) 2024-06-03 13:34:43 +02:00
Nikolaj Geisle f15be3ed65 Merge branch 'v13/dev' into release/13.4 2024-06-03 12:30:44 +02:00
Sebastiaan Janssen 46e99910e7 Merge branch 'v13/contrib' into v13/dev 2024-06-03 12:26:54 +02:00
Nikolaj Geisle c3e7dad236 bumb to rc version 2024-06-03 12:09:37 +02:00
MoleandGitHub 100f2c3bcd Add check to ensure that RenderControllers and SurfaceControllers are always routed through the UmbracoRouteValueTransforms (#16540) 2024-06-03 12:03:40 +02:00
0aaac78cfa A bunch of minor performance optimizations (#16335)
* 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>
2024-06-03 11:23:25 +02:00
Don BuddhiandMatthew-Wise e4ac7c9752 Added git submodule update --init command to the documentation 2024-06-03 09:44:58 +01:00
Nhu DinhandGitHub 1f8b7f3a35 V14 QA Added acceptance tests for Members and Member Group (#16074)
* 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
2024-06-03 10:23:50 +02:00
e0c64e4d6a V14: Add required dependency to management api (#16532)
* Add registration to management api

* Check for registration

* Update src/Umbraco.Cms.Api.Common/DependencyInjection/UmbracoBuilderApiExtensions.cs

Co-authored-by: Nuklon <Nuklon@users.noreply.github.com>

---------

Co-authored-by: Nuklon <Nuklon@users.noreply.github.com>
2024-06-03 10:01:17 +02:00
Shannon DeminickandMatthew-Wise f9a6712403 Fixes a bug where the ValueSetValidator is null which will cause a NullReferenceException.
Fixes a bug where the ValueSetValidator is null which will cause a NullReferenceException.
2024-06-01 13:03:47 +01:00
Johan RunstenandMatthew-Wise 5795cf119a Typo when getting query parm 2024-06-01 12:24:09 +01:00
Nikolaj GeisleandGitHub 4478d22390 Add retries to flaky tests (#16529) 2024-05-31 13:02:43 +02:00
Bjarke BergandGitHub 7c1f541bbb Handle MasterTemplateNotFound as bad request instead of unepxected (#16445) 2024-05-31 12:39:48 +02:00
Bjarke BergandGitHub e6568c69dc Added a notifiction handler that checks if we wanna have domain publish warnings. If so it adds as Umb-Notifications and logs it. (#16507) 2024-05-31 12:26:37 +02:00
Elitsa MarinovskaandGitHub 464eaa0409 Adding a base class of oembedresponse, so we can handle string values for dimentions (#16514) 2024-05-31 11:39:09 +02:00
Nikolaj GeisleandGitHub 71e1b74337 v14: Validate file name to return correct error (#16419)
* Validate name

* Add missing case for HandleRename
2024-05-31 11:25:27 +02:00
Nikolaj GeisleandGitHub 133f985293 Include description in DocumentTypeItemResponseModel (#16503) 2024-05-31 09:08:33 +02:00
Ronald BarendseandGitHub bb3ac68241 Include umbraco-package.json manifests in telemetry data (#16430)
* 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
2024-05-31 09:02:36 +02:00
Nhu DinhandGitHub d78a063f07 V14 QA Added Content acceptance tests (#16289)
* 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
2024-05-31 08:45:07 +02:00
Bjarke Berg d10596896e Added PackageValidation 2024-05-30 13:49:48 +02:00
Jacob Overgaard 4041e290bf update backoffice submodule 2024-05-30 09:59:08 +02:00
Sebastiaan Janssen 41dddee620 Merge branch 'v14/dev' into contrib
# Conflicts:
#	src/Umbraco.Web.UI.Login/package-lock.json
#	src/Umbraco.Web.UI.Login/package.json
2024-05-30 08:41:49 +02:00
Zeegaan 48c8ffcbc5 Merge branch 'release/14.0' into v14/dev
# Conflicts:
#	src/Umbraco.Web.UI.Client
2024-05-30 08:14:30 +02:00
Jacob Overgaard 0c38eea6f7 update backoffice submodule 2024-05-29 10:20:47 +02:00
Jacob Overgaard 48c4d75886 update backoffice submodule 2024-05-29 10:18:47 +02:00
Jacob Overgaard 8685c7d64a fix: edit blocks in areas 2024-05-29 09:56:34 +02:00
Bjarke Berg 926a077374 Merge remote-tracking branch 'origin/release/14.0' into release/14.0 2024-05-29 07:47:37 +02:00
Bjarke Berg e39c600415 Bump version 2024-05-29 07:47:30 +02:00
Bjarke BergandGitHub 23461b3698 Handle the case where the editorvalue is from the db and just is a path. (#16429) 2024-05-28 15:27:23 +02:00
Jacob Overgaard 2a9808c776 update backoffice submodule 2024-05-28 15:01:32 +02:00
Jacob Overgaard 4046d13c29 update backoffice submodule 2024-05-28 15:00:45 +02:00
Jacob Overgaard d38421286f update backoffice submodule 2024-05-28 09:48:05 +02:00
Jacob Overgaard 17e1b823de update backoffice submodule 2024-05-28 09:45:23 +02:00
Jacob Overgaard 799e0dcca8 update backoffice submodule 2024-05-28 09:43:11 +02:00
Andreas ZerbstandGitHub 0ad177a522 V14 QA Fix E2E tests (#16427)
* Moved group

* Fixed button name

* Bumped version of testHelpers
2024-05-28 09:16:03 +02:00
Nikolaj Geisle 5a966ec3e7 Merge branch 'v14/dev' into release/14.0 2024-05-28 08:55:05 +02:00
Jacob Overgaard 64dbfd0bc9 update backoffice submodule 2024-05-28 00:10:58 +02:00
Nikolaj Geisle 7bfe3eda56 bumb version.json 2024-05-27 22:11:46 +02:00
Nikolaj Geisle 7eaaa8e2e6 Merge branch 'v14/dev' into release/14.0 2024-05-27 22:11:24 +02:00
Kenn JacobsenandGitHub 5296013d89 Enrich the datatype references output with content type data (#16417) 2024-05-27 19:38:57 +02:00
Kenn JacobsenandGitHub ce8e258d6d Make sure listviews are initialized correctly in a new DB (#16418) 2024-05-27 18:35:43 +02:00
Jacob Overgaard 57cca63d81 update backoffice submodule 2024-05-27 17:38:14 +02:00
Andreas ZerbstandGitHub b6be3c50f1 V14 QA Decreased retry amount (#16423)
* Decreased retry once again

* Changed fallback value to 1
2024-05-27 16:17:03 +02:00
Kenn JacobsenandGitHub 1f7b7043b3 The "item" endpoints should be accessible for all users (#16422) 2024-05-27 15:25:17 +02:00
806fce8ed9 Add editor ui alias to package xml (#16420)
* Add editor ui alias to package xml

* Update src/Umbraco.Infrastructure/Packaging/PackageDataInstallation.cs

* Add AllowAtRoot and AllowInAreas

---------

Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2024-05-27 14:10:19 +02:00
Jacob Overgaard f4a77ce217 update backoffice submodule 2024-05-27 13:35:58 +02:00
Kenn JacobsenandGitHub e7780265fa Use runtime mode to determine cache TTL for manifest files (#16393)
* Use runtime mode to determine cache TTL for manifest files

* Remove unused manifest settings
2024-05-27 10:33:49 +02:00
Jacob Overgaard 53ca2910fa update backoffice submodule 2024-05-27 09:49:31 +02:00
e5e87c96db [v14] Fix multiple upgrader issues (#16339)
* 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>
2024-05-27 07:17:45 +02:00
Jacob OvergaardandGitHub c083b3bc8a fix: correct the validation localization constants to match the client (#16401) 2024-05-27 06:44:55 +02:00
Kenn JacobsenandGitHub d927146855 Fix issues with initial creation of external users (#16363)
* Use constant instead of "sub"

* Re-assign the newly created user key as well as its ID
2024-05-24 14:55:56 +02:00
Sebastiaan JanssenandGitHub 729016e429 Update README.md 2024-05-24 14:29:06 +02:00
Sebastiaan JanssenandGitHub 5545051cb1 Task/update readme (#16403)
* Update readme
2024-05-24 14:18:03 +02:00
Kenn JacobsenandGitHub 07711aac28 Expose and manage system media types (#16343)
* Expose and manage system media types

* Removed license :D
2024-05-24 08:59:47 +02:00
MoleandGitHub 8383532fd5 Fix use cache issue when deleting (#16284) 2024-05-23 15:35:08 +02:00
Jacob OvergaardandGitHub 7582b9bcea V14: Login updates (#16359)
* switch logos around to support new login image

* add new login image

* update npm dependencies

* chore: compress the image further
2024-05-23 15:14:23 +02:00
Kenn JacobsenandGitHub 2b79d24afa Add endpoint for retrieving "folder" media types. (#16345)
* Add endpoint for retrieving "folder" media types.

* The system Folder media type should always be considered a "folder"
2024-05-23 14:43:00 +02:00
Jacob Overgaard 8f4f23938d Merge remote-tracking branch 'origin/v14/dev' into contrib 2024-05-23 14:32:53 +02:00
Jacob Overgaard 228aab1154 remove temp database 2024-05-23 14:13:02 +02:00
Bjarke Berg 528583430f Merge remote-tracking branch 'refs/remotes/origin/release/13.3' into v13/dev
# Conflicts:
#	src/Umbraco.Web.Website/Routing/EagerMatcherPolicy.cs
#	version.json
2024-05-23 13:31:34 +02:00
Andreas ZerbstandGitHub cff1dd5219 V14 QA Added document type acceptance test (#16211)
* 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
2024-05-23 12:00:01 +02:00
Andreas ZerbstandGitHub 876e91d41d V14 QA media type tests (#16282)
* 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
2024-05-23 11:59:43 +02:00
Jacob OvergaardandGitHub 380c5bbbe2 feat: add autofocus to the email/username field (#16350)
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
2024-05-23 11:17:57 +02:00
Bjarke BergandGitHub aabb5b7c48 Updated nuget packages (#16349) 2024-05-23 10:41:28 +02:00
Bjarke BergandGitHub 696a71166c Ensure ufprt-token requests are handle in the UmbracoRouteValueTransformer (#16347) 2024-05-23 10:14:37 +02:00
Jacob Overgaard 0c5d7b2627 Merge branch 'refs/heads/v14/dev' into release/14.0 2024-05-23 09:13:33 +02:00
Jacob Overgaard fcf82240d0 update backoffice submodule 2024-05-23 09:13:15 +02:00
Sebastiaan Janssen 9dd5e706b1 Merge branch 'v14/dev' into contrib 2024-05-22 15:29:46 +02:00
Jacob Overgaard 3f20abf767 Merge branch 'v14/dev' into release/14.0 2024-05-22 14:32:10 +02:00
Jacob Overgaard b1f012f85f update backoffice submodule 2024-05-22 14:31:55 +02:00
Bjarke BergandGitHub dd537f8ae8 Update path (#16346) 2024-05-22 14:24:19 +02:00
Jacob Overgaard b940578d9d bump version to 14.0.0-rc4 2024-05-22 13:54:58 +02:00
Jacob Overgaard 9186d1de5e Merge branch 'v14/dev' into release/14.0 2024-05-22 13:54:28 +02:00
Jacob Overgaard beba9d92e8 update backoffice submodule 2024-05-22 13:53:37 +02:00
MoleandBjarke Berg 5f082df3ab Ensure there is always at least 1 valid candidate (#16344)
(cherry picked from commit eb6bb99eaf)
2024-05-22 13:30:54 +02:00
MoleandGitHub eb6bb99eaf Ensure there is always at least 1 valid candidate (#16344) 2024-05-22 13:29:17 +02:00
Bjarke Berg fd2138c1fd Bump version 2024-05-22 12:21:56 +02:00
Nikolaj GeisleandGitHub 0f3160f727 Move publishing notification after validation (#16331) 2024-05-22 12:17:04 +02:00
Kenn JacobsenandGitHub 9ab8b816b2 The preview hub throws an exception during DB upgrade (#16338) 2024-05-22 12:11:01 +02:00
+3 a4a9a274bb V14: Merge 13 to 14 (#16340)
* 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>
2024-05-22 12:05:41 +02:00
Nikolaj GeisleandGitHub 8ddb911a52 V14; Refactor permissions for Document/Media/Member (#16310)
* 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
2024-05-22 10:56:26 +02:00
Andreas ZerbstandGitHub b56d14322a V14 QA remove test describe (#16330)
* Removed test.describe and fixed indentation

* Removed test.describe, fixed indentation and moved test file to settings
2024-05-22 15:28:43 +07:00
Jacob Overgaard 03be7b8f2c update backoffice submodule 2024-05-22 09:11:06 +02:00
Jacob Overgaard 365e3b39ca update backoffice submodule 2024-05-21 11:14:18 +02:00
393566a3fb V14: Adds preview.js (#16305)
* 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>
2024-05-21 11:13:26 +02:00
5a75488d0e Clean up null values in datatype configs (#16296)
Co-authored-by: Sven Geusens <sge@umbraco.dk>
2024-05-21 09:50:02 +02:00
Bjarke Berg 04ed514a21 Merge remote-tracking branch 'refs/remotes/origin/v12/dev' into v13/dev 2024-05-21 08:57:43 +02:00
Bjarke Berg 4f382abc66 Merge remote-tracking branch 'refs/remotes/origin/v11/dev' into v12/dev
# Conflicts:
#	src/Umbraco.Web.BackOffice/Controllers/MediaController.cs
2024-05-21 08:49:33 +02:00
Bjarke Berg 60f656006d Merge remote-tracking branch 'refs/remotes/origin/release/12.3' into v12/dev
# Conflicts:
#	version.json
2024-05-21 08:48:54 +02:00
Bjarke Berg 5c777f3182 Merge remote-tracking branch 'refs/remotes/origin/v10/dev' into v11/dev
# Conflicts:
#	src/Umbraco.Web.BackOffice/Controllers/MediaController.cs
2024-05-21 08:46:37 +02:00
Bjarke Berg 0ee0db8071 Merge remote-tracking branch 'refs/remotes/origin/release/10.8' into v10/dev
# Conflicts:
#	version.json
2024-05-21 08:44:27 +02:00
Nhu DinhandGitHub bfbb9756f3 Updated smoke tag (#16326) 2024-05-21 08:36:02 +02:00
11e5257b56 V14: Untangle the preview functionality from the auth cookie (#16308)
* 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>
2024-05-17 16:06:26 +02:00
Bjarke Berg 9bacd13ce2 Merge remote-tracking branch 'refs/remotes/origin/release/13.3' into v13/dev
# Conflicts:
#	version.json
2024-05-17 14:39:44 +02:00
80794f3efd [V14] import/export media/document type endpoints (#16100)
* 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>
2024-05-17 14:35:18 +02:00
MoleandGitHub 13f2d52576 V14: Fix package creation (#16309)
* Fix documents and document types

* Fix remaining parts
2024-05-17 12:30:26 +02:00
56e0e1cc2b merge user/current/logins and user/current/login-providers (#16307)
also deleted unused requestmodel

Co-authored-by: Sven Geusens <sge@umbraco.dk>
2024-05-17 09:23:56 +02:00
Bjarke BergandGitHub 5f24de3085 Merge pull request from GHSA-j74q-mv2c-rxmp 2024-05-17 08:37:51 +02:00
Bjarke BergandGitHub d8df405db4 Merge pull request from GHSA-j74q-mv2c-rxmp 2024-05-17 08:37:51 +02:00
Bjarke BergandGitHub c17d4e1a60 Merge pull request from GHSA-j74q-mv2c-rxmp 2024-05-17 08:37:51 +02:00
295f6f8720 V14: Backend changes to facilitate Preview mode in Bellissimma (#16279)
* 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>
2024-05-16 15:53:42 +02:00
Kenn JacobsenandGitHub 93db1912a6 Fix the editor UI alias migration and re-run it (#16292) 2024-05-16 15:20:29 +02:00
Nikolaj GeisleandGitHub d20892e329 Refactor UserGroupService methods to use attempt (#16302) 2024-05-16 15:04:54 +02:00
Andreas ZerbstandGitHub a8f6e8f8dd Bumped version of testHelpers (#16304) 2024-05-16 13:29:55 +02:00
Jacob Overgaard 9f83ff3ab5 update backoffice submodule 2024-05-16 10:10:26 +02:00
Jacob Overgaard 7287e7d740 update backoffice submodule 2024-05-16 08:57:13 +02:00
Nikolaj GeisleandGitHub 520e5e4206 V14: Refactor user and usergroups with referency by id model (#16287)
* 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
2024-05-15 14:55:54 +02:00
MoleandGitHub bdd231caee V14: Fix null ref exception in current user permission endpoint (#16286)
* Fix null reference exception

* Align behaviour with document and media version
2024-05-15 14:23:04 +02:00
MoleandGitHub e46a8d2d31 Use SearchRedirectUrls (#16285) 2024-05-15 09:54:08 +02:00
Jacob Overgaard 3c4da9df53 update backoffice submodule 2024-05-15 09:53:32 +02:00
742307dc32 [v14] backoffice user login providers endpoint (#16141)
* 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>
2024-05-14 15:55:32 +02:00
MoleandGitHub 7f654a1c63 Add JsonDocumentOptions skipping comments (#16281) 2024-05-14 14:12:02 +02:00
cbf9781ae8 DX: Add BlockValue constructors to force correct property editor alias and layout item type (#16266)
* 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>
2024-05-14 13:34:54 +02:00
Jacob Overgaard 6a9f936cce update backoffice submodule 2024-05-14 11:04:58 +02:00
d18bce0ea7 V14: Resize url endpoint (#16275)
* Add image resizing endpoint

* Rename factory

* Actually use height and width

---------

Co-authored-by: nikolajlauridsen <nikolajlauridsen@protonmail.ch>
2024-05-14 10:42:33 +02:00
Nhu DinhandGitHub eda4a6cc55 V14 QA Added missing acceptance tests for Dictionary (#16241)
* 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
2024-05-14 13:45:47 +07:00
Kenn JacobsenandBjarke Berg 94cef504a3 Property source level variation should only be applied when configured (#16270)
(cherry picked from commit ab32bac5d9)
2024-05-13 15:45:45 +02:00
Kenn JacobsenandGitHub ab32bac5d9 Property source level variation should only be applied when configured (#16270) 2024-05-13 15:44:07 +02:00
Jacob OvergaardandGitHub 22c0c250e0 V14: The login page does not respect certain error codes (#16244)
* 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
2024-05-13 12:39:38 +01:00
leekelleher 2cc5f496f3 update backoffice submodule 2024-05-13 12:31:33 +01:00
39e9408a09 Allow FileUpload and Imagecropper to upload files in the same way (#16214)
* 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>
2024-05-13 12:29:31 +01:00
Kenn JacobsenandGitHub 079097427b Return all templates from GetAllAsync if no keys are passed (#16254) 2024-05-13 11:23:20 +02:00
Bjarke BergandGitHub 962bedac29 Ensure we do not expose any cultures we do not accept in languages. Futhermore, I moved it to a service to people can replace the logic (#16265) 2024-05-13 11:09:46 +02:00
Kenn JacobsenandGitHub 46864daf7a Use a fixed access token timeout for developer clients (#16255)
* Use a fixed access token timeout for developer clients

* Re-introduce auth persistence in Swagger UI
2024-05-13 09:41:13 +02:00
87c7347900 V14: Reintroduce umbraco api controller as obsolete (#16263)
* 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>
2024-05-13 08:28:42 +02:00
Bjarke Berg b4b512dd53 Return 403 when missing permissions instead of 401 2024-05-10 14:36:25 +02:00
Bjarke Berg e9074ea97a Return 403 when missing permissions instead of 401 2024-05-10 13:28:15 +02:00
MoleandBjarke Berg 18765465ae 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)
2024-05-10 11:37:11 +02:00
MoleandGitHub ba9ddd11da 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
2024-05-10 11:36:12 +02:00
Bjarke BergandGitHub 86d98eda8d Return 401 in case the signin was not successfully (#16258) 2024-05-10 11:27:34 +02:00
c7328bcbbc v14: Return all data types from DataTypeService.GetAllAsync() (#16230)
* 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>
2024-05-10 08:12:25 +02:00
53654d3b28 V14: Return the unhealthy error message from Examine index (#16228)
* 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>
2024-05-08 08:41:18 +02:00
Jacob OvergaardandGitHub 6577b56d23 V14: The dev server for the login app does not work (#16225)
* 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
2024-05-07 13:54:26 +02:00
Jacob Overgaard 78d93a11d0 Merge branch 'refs/heads/v14/dev' into release/14.0 2024-05-07 10:27:38 +02:00
Jacob Overgaard f65d465a8a update backoffice submodule 2024-05-07 10:27:23 +02:00
2260da210d Management api should use datetimeoffset (#16196)
* 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>
2024-05-07 08:07:20 +02:00
f44fb59b34 V14 QA Added acceptance tests for Language (#15997)
* 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>
2024-05-07 11:59:59 +07:00
Jacob Overgaard 4035550dfa Merge branch 'refs/heads/v14/dev' into release/14.0 2024-05-06 18:15:32 +02:00
Jacob OvergaardandGitHub 91d81063a3 V14: Login page throws validation errors (#16222)
* remove unused login-input.element.ts

* fix: use regular html inputs to prevent validation errors that arose when we removed the shadow dom
2024-05-06 18:14:49 +02:00
Jacob Overgaard 97dcc90601 Merge branch 'refs/heads/v14/dev' into release/14.0 2024-05-06 14:17:20 +02:00
Jacob Overgaard 70cc0a5a05 update backoffice submodule 2024-05-06 14:15:14 +02:00
Elitsa MarinovskaandNikolaj Geisle e352be14ea Change order of service converter check (#16182) 2024-05-06 13:39:44 +02:00
Elitsa MarinovskaandGitHub 4736683273 Change order of service converter check (#16182) 2024-05-06 13:38:29 +02:00
Rasmus John PedersenandGitHub cfcdc9c98d 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
2024-05-06 13:14:11 +02:00
Jacob Overgaard b2d6bb20ba add release.yml to be able to categorise github release notes (#16219) 2024-05-06 11:28:48 +02:00
Jacob OvergaardandGitHub b0b2b59740 add release.yml to be able to categorise github release notes (#16219) 2024-05-06 11:22:54 +02:00
Kenn JacobsenandGitHub b98a6aaa41 Use the correct editor UI for MNTP (#16217) 2024-05-06 11:22:28 +02:00
Jacob Overgaard 73646a88b1 Merge branch 'refs/heads/v14/dev' into release/14.0 2024-05-06 10:46:45 +02:00
Jacob Overgaard 09a8be12ec update backoffice submodule 2024-05-06 10:46:24 +02:00
Jacob Overgaard ba06e859c3 Merge branch 'refs/heads/v14/dev' into release/14.0 2024-05-06 10:32:05 +02:00
Jacob Overgaard 6dbb7e286d update backoffice submodule 2024-05-06 10:31:45 +02:00
Jacob Overgaard 01ce93510e update backoffice submodule 2024-05-06 10:30:32 +02:00
Nikolaj GeisleandGitHub d13278af80 V14: Webhook endpoint fixes (#16215)
* Update to use presentation factory

* remove unused usings

* Update delete endpoint to work

* Remember to map key

* Map key for updating webhooks
2024-05-06 10:25:33 +02:00
Sebastiaan JanssenandGitHub 23d0a6b9b2 Since v13 properties can sometimes be of type IRichTextEditorIntermediateValue - this was unexpected in the XPath navigator code (#16121) 2024-05-06 09:40:52 +02:00
f9c0235a35 [v14] Add missing alias and id to usergroup related api models (#16154)
* 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>
2024-05-03 10:24:09 +02:00
Bjarke Berg fee222daff Bump version 2024-05-03 09:29:37 +02:00
Bjarke Berg edb516f71a Bump version 2024-05-03 09:28:43 +02:00
Bjarke Berg b6031dea1a bump version 2024-05-03 09:27:20 +02:00
8ad6c36038 Amend user start node handling (#16094)
* 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>
2024-05-03 08:47:10 +02:00
Sebastiaan Janssen 8b878a7aa6 Merge branch 'v14/dev' into contrib 2024-05-02 15:33:32 +02:00
Jacob Overgaard caebf37f51 Merge branch 'refs/heads/v14/dev' into release/14.0 2024-05-02 13:50:24 +02:00
Jacob OvergaardandGitHub f0dae526bf add the new oauth_complete path to the list of exemptions for the backoffice client (#16210) 2024-05-02 13:09:20 +02:00
Jacob Overgaard 8c8ebc0de1 update backoffice submodule 2024-05-02 12:59:30 +02:00
Jacob Overgaard 6eb8624291 update backoffice submodule 2024-05-02 12:50:11 +02:00
Jacob Overgaard 4a09e8dfd9 update backoffice submodule 2024-05-02 12:46:21 +02:00
Jacob Overgaard 7230091010 bump version.json 2024-05-02 12:04:47 +02:00
Jacob Overgaard 8db9913bdd Merge branch 'refs/heads/v14/dev' into release/14.0 2024-05-02 12:04:28 +02:00
Jacob Overgaard 859e1e65f1 update backoffice submodule 2024-05-02 11:59:31 +02:00
Jacob OvergaardandGitHub fe1ee46115 V14: Unique OAuth callback route (#16194)
* 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
2024-05-02 11:56:27 +02:00
2009989f6a [V14] Allow specifying ID on the create package endpoint (#16203)
* Allow package creation to specify the ID

* update openapi

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
2024-05-02 11:33:15 +02:00
Nhu DinhandGitHub 0cfa8626b1 V14 QA Setting up the smoke E2E tests in pipeline (#16082)
* 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
2024-05-02 10:09:48 +02:00
Nikolaj Geisle 5c02a560f4 Update openapi for webhooks 2024-05-02 09:55:09 +02:00
Nikolaj GeisleandGitHub bad211027b Don't validate credentials first (#16199) 2024-05-01 14:42:25 +02:00
374d699fd9 Move audit log endpoints to their respective silos and clean up (#16170)
* Move audit log endpoints to their respective silos and clean up

* Fix failing integration tests

---------

Co-authored-by: Mads Rasmussen <madsr@hey.com>
2024-05-01 12:07:06 +02:00
c8180d508b V14: Test new content and media list view service (#16193)
* 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>
2024-05-01 10:54:26 +02:00
Andreas ZerbstandGitHub 94b0f4d1a2 Skips failing test (#16197) 2024-05-01 10:00:34 +02:00
Nikolaj GeisleandGitHub abcb837eeb Add events v14/feature/add-webhook-events-endpoint (#16192) 2024-05-01 08:28:32 +02:00
Kenn JacobsenandGitHub e4986b9793 Set the data type editor UI aliases at install time (#16185) 2024-05-01 08:11:32 +02:00
Kenn JacobsenandGitHub 404cb28c59 Add data type editor UI aliases on upgrade (#16183) 2024-05-01 07:50:26 +02:00
d953a78ae6 Add avatarUrls to the userItem responsemodel (#16190)
Move "mapping" to the factory as there are now dependencies to build the model.

Co-authored-by: Sven Geusens <sge@umbraco.dk>
2024-04-30 18:16:30 +02:00
Jacob Overgaard 87e21f5339 update backoffice submodule 2024-04-30 16:41:17 +02:00
Kenn JacobsenandGitHub b5f24d5297 Add member type icon to member type tree output (#16178) 2024-04-30 15:00:53 +02:00
Kenn JacobsenandGitHub de230334be Add user group filter endpoint (#16087) 2024-04-30 14:55:20 +02:00
39e51a4467 Add endpoint for retrieving allowed media types for file extensions (#16189)
* Add endpoint for retrieving allowed media types for file extensions

* Moved paging into service

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2024-04-30 14:26:12 +02:00
Bjarke BergandGitHub 3eef9b9579 Add oEmbed endpoint to the management api (#16188)
* OEmbed query endpoint

* Log provider instead of url from user
2024-04-30 14:21:50 +02:00
e3a4d4dae2 Handle multiple simultaneous block editor layouts (#16184)
* Handle multiple simultaneous block editor layouts

* Cleanup

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2024-04-30 12:53:26 +02:00
Nhu DinhandGitHub b833bace1e V14 QA Fixing failing tests for Partial View (#16181)
* 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
2024-04-30 09:11:38 +02:00
Jacob OvergaardandGitHub 171eef9078 chore: remove import from backoffice icons since we now only have to rely on the ui library (#16155)
this also fixes an issue where icons did not work anymore due to changes in the backoffice taking over
2024-04-29 16:34:45 +01:00
976146b46e Persist claims from OnExternalLogin event (#16180)
* 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>
2024-04-29 11:54:39 +02:00
0e12b94107 Translate member picker property editor value to V14 compatible format (and back again) (#16149)
* Translate member picker property editor value to V14 compatible format (and back again)

* Fix typo

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
2024-04-29 10:23:07 +02:00
Kenn JacobsenandGitHub d1e90dd3d8 Always use IActionResult - not ActionResult (#16145) 2024-04-29 09:07:19 +02:00
Bjarke Berg 25b47719ad Merge remote-tracking branch 'origin/v14/dev' into v14/dev 2024-04-29 08:23:11 +02:00
Andreas ZerbstandGitHub 9236d6a3b9 V14 QA added acceptance tests for the media section (#16039)
* Added media tests

* Bumped versions

* Bumped version of testhelpers

* Cleaned up

* Added additional media tests

* Bumped version of playwright and testHelpers
2024-04-29 12:07:15 +07:00
Kenn JacobsenandGitHub 16a1f42985 Translate member group picker property editor value to V14 compatible format (and back again) (#16150) 2024-04-26 10:43:33 +02:00
Joshua Daniel Pratt NielsenandSebastiaan Janssen 5b46c718e6 Fix logic for retrieving lastKnownElement
(cherry picked from commit cae106bfe8)
2024-04-26 09:59:49 +02:00
Lars-ErikandSebastiaan Janssen 599ec18ecc Implementors using Umbraco.Tests.Integration won't have to override GetLocalizedTextService
(cherry picked from commit b0016687eb)
(cherry picked from commit 2bb56f1b81)
2024-04-26 09:59:32 +02:00
Joshua Daniel Pratt NielsenandSebastiaan Janssen cae106bfe8 Fix logic for retrieving lastKnownElement 2024-04-26 09:55:05 +02:00
Jacob OvergaardandGitHub e296c173cc V14: add authorized logout callback path (#16152)
* 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
2024-04-26 08:32:42 +02:00
Nikolaj GeisleandGitHub fcbfecd28e Reverse boolean check, to not fail if valid (#16153) 2024-04-26 08:29:50 +02:00
Andreas ZerbstandGitHub e1692f867f Skips failing test (#16148) 2024-04-26 09:22:44 +07:00
Bjarke Berg c4d49c2d73 Merge remote-tracking branch 'refs/remotes/origin/v13/hotfix/performance-optimizations-based-on-eu-data' into v14/dev
# Conflicts:
#	src/Umbraco.Core/Services/UserService.cs
#	src/Umbraco.Infrastructure/Templates/HtmlMacroParameterParser.cs
2024-04-25 15:57:55 +02:00
Nikolaj GeisleandGitHub 7bd499565d V14: Cache user by id (#16139)
* 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
2024-04-25 15:56:01 +02:00
Kenn JacobsenandGitHub f824280162 Translate user picker property editor value to V14 compatible format (and back again) (#16151) 2024-04-25 13:20:41 +02:00
Kenn JacobsenandGitHub c85b1d4d37 Make public access endpoints work correctly (#16136) 2024-04-25 13:17:24 +02:00
Kenn JacobsenandGitHub b9e72a2d82 RTE media folder config is stored as a GUID in V14 (#16138) 2024-04-25 12:56:46 +02:00
9fc083fece V14: Migrate notify action from char to string (#16142)
* 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>
2024-04-25 12:51:17 +02:00
Kenn JacobsenandGitHub 7a39314586 Remove all RTE config from appsettings (#16140) 2024-04-25 12:25:47 +02:00
Kenn JacobsenandGitHub ca84d002a4 Fix RTEs stylesheet loading error (#16128) 2024-04-25 12:19:41 +02:00
Zeegaan 37ae17ad20 Use renamed controller 2024-04-25 12:12:56 +02:00
Kenn JacobsenandGitHub 0cac0f8b5c Add endpoint for retrieveing the configured default language (#16086)
* Add endpoint for retrieveing the configured default language

* Update OpenApi.json
2024-04-25 11:42:16 +02:00
Kenn JacobsenandGitHub c7b3175621 Fix data parsing error for dropdown and checkbox list (#16132) 2024-04-25 11:21:12 +02:00
Jacob Overgaard 4b922c65e7 Merge branch 'v14/dev' into release/14.0 2024-04-25 11:09:31 +02:00
Jacob Overgaard f4cc408a11 update backoffice submodule 2024-04-25 11:08:11 +02:00
Bjarke BergandGitHub 89755157c1 Support member saving Cancel (#16147)
* Fixes https://github.com/umbraco/Umbraco-CMS/issues/15152

Handle when a notification cancels the member saving operation.

* Fixed unit tests
2024-04-25 10:59:41 +02:00
Jacob Overgaard a8021c46f6 update backoffice submodule 2024-04-25 10:33:24 +02:00
Bjarke BergandGitHub 73de6e164f Configured the swagger UI to persist the authentication token (still only valid for 5 minutes, as it cannot use refreshtoken) and added filtering. (#16146) 2024-04-25 09:45:36 +02:00
f1e43a7376 Align various controllers (#16137)
* 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>
2024-04-25 08:34:21 +02:00
Kenn JacobsenandGitHub c4958365fe Support OpenAPI polymorphic output with JsonDerivedType (#16144) 2024-04-25 08:26:44 +02:00
Nikolaj GeisleandGitHub fc9b47a2ea V14: Fixup webhook endpoints (#16143)
* Use presentation factory, as there is no map definition

* Refactor to actually get entities by key
2024-04-24 15:41:32 +02:00
Kenn JacobsenandGitHub ed64dbf3e4 Cleaned up V13 related and obsoleted system directory constants (#16133)
* Cleaned up V13 related and obsoleted system directory constants

* The LogFiles constant is still used, it seems
2024-04-24 13:54:15 +02:00
119fde2033 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>
2024-04-24 13:44:20 +02:00
c7a1205180 Refactor endpoints to return 0 items if the ids/paths are empty (#16126)
Co-authored-by: Elitsa <elm@umbraco.dk>
2024-04-24 12:28:24 +02:00
Jacob Overgaard ca0c90e321 set version to rc2 2024-04-24 11:47:05 +02:00
Jacob Overgaard a62fbf4269 update backoffice submodule 2024-04-24 11:46:04 +02:00
Andreas ZerbstandGitHub aec90b2e58 Fixed failing test (#16130) 2024-04-24 08:59:18 +02:00
Nikolaj GeisleandGitHub 7bbef2a584 V14: Fix member mapping (#16106)
* convert key to name before saving roles

* Rework MemberEditingService to convert keys

* Rename variable to groups

* Extract to variable
2024-04-23 12:25:36 +02:00
94bf4efe10 V14: Obsolete runtime minification settings (#16123)
* Obsolete RuntimeMinificationSettings

* Obsolete RuntimeMinificationValidator

* Update src/Umbraco.Core/Constants-Configuration.cs

Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>

* Obsolete RuntimeMinificationCacheBuster

---------

Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
2024-04-23 11:17:50 +02:00
Bjarke Berg 07431e092b Do a distinct on user ids before building index, to avoid issue with more than 2100 parameters 2024-04-23 11:03:42 +02:00
Sebastiaan Janssen d4188022af Merge branch 'v14/dev' into contrib 2024-04-23 10:01:39 +02:00
Jacob Overgaard 263b995991 update backoffice submodule 2024-04-23 09:54:14 +02:00
Nikolaj GeisleandGitHub 4118f441c9 Remove UI settings (#16064) 2024-04-22 13:05:12 +02:00
MoleandGitHub 0980350172 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
2024-04-22 12:56:36 +02:00
7b46d44eeb RC2 Breaking - Ensure migrations persist the executed key, when executed. (#16113)
* 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>
2024-04-22 12:21:16 +02:00
Jacob Overgaard c6898ec3f6 update backoffice submodule 2024-04-22 09:45:39 +02:00
Andreas ZerbstandGitHub b392a499cf V14 QA Token access fix (#16111)
* Added fixtures

* Fixed existing tests

* Temporary file path for updating StorageState

* Fixed indentation

* Bumped version

* Added a storageStatePath

* Deleted unnecessary fixtures

* Deleted commented out code

* Bumped version of testHelpers

* Updated Pipeline

* Bumped version

* Added fixes from review

* Added another wait and goToSection
2024-04-22 13:58:05 +07:00
Nikolaj GeisleandGitHub cceb4180f2 V14: Redirect to login screen (#16051)
* Redirect to login screen after flows complete

* Revoke tokens after completing flow

* Use Ok not Redirect

* skip length check
2024-04-19 09:42:13 +02:00
Jacob Overgaard 4dfd26e59e update backoffice submodule 2024-04-19 09:32:47 +02:00
Bjarke Berg 5c16cfb947 Use TryGetValue instead 2024-04-18 20:44:26 +02:00
Bjarke Berg 61908b4235 Lookup content types once instead of one by one 2024-04-18 16:27:56 +02:00
Bjarke Berg c2d1b7a315 Do not ask options every time for the timeout, instead listen for updates 2024-04-18 16:27:26 +02:00
Bjarke Berg e1e584ba64 Wrap indexing for delivery API in a scope 2024-04-18 16:26:57 +02:00
Sven Geusens a27a4dcd84 Bump to next minor 2024-04-18 15:36:44 +02:00
Sven Geusens adc2435073 Merge branch 'release/13.3.0' into v13/dev 2024-04-18 15:24:41 +02:00
Bjarke Berg 487f480548 Clean up 2024-04-18 13:43:01 +02:00
d04769a84b V14/feature/all segment endpoint (#16054)
* Added All Segments service with backing noopService

* Add openapi spec

* Apply suggestions from code review

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

* Fix ctor

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2024-04-18 12:20:26 +02:00
Jacob OvergaardandGitHub 337d547698 Do not refer to $npmTag which does not exist (#16075)
`--access` is not required either since we now specify that in the package.json file
2024-04-18 10:22:11 +02:00
Sven Geusens a325ba339b bump rc to regular 2024-04-18 09:10:22 +02:00
Nikolaj Geisle 8247360700 Merge branch 'release/14.0' into v14/dev 2024-04-18 09:02:28 +02:00
Nikolaj Geisle 8b0bf9da27 bump version 2024-04-18 09:01:17 +02:00
e33d7a779d V14: Apply sliding window token expiry based on the configured max login lifetime (#16028)
* 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>
2024-04-18 08:24:58 +02:00
Nhu DinhandGitHub e20e001c12 V14 QA Added skip to the failing test due to UI changes (#16076)
* Added skip to the failing test due to UI changes

* Added skip tests

* Added skip tests
2024-04-17 15:33:05 +02:00
Andreas ZerbstandGitHub 55f68f477f Added timeout (#16073) 2024-04-17 15:30:51 +02:00
ChadandMichael Latouche cc39d36ff5 Correct BasicAuthSettings.Enabled description
Correct BasicAuthSettings.Enabled description.
2024-04-17 15:24:35 +02:00
Bjarke Berg 5d51d81545 Unbreak change by adding obsolete ctor 2024-04-17 13:05:03 +02:00
Bjarke Berg 7b4581bd8d Request cache the permission lookup 2024-04-17 12:55:14 +02:00
Jacob Overgaard 15b85d0e4a update backoffice submodule 2024-04-17 12:36:35 +02:00
Jacob Overgaard 8a15c14e70 update backoffice submodule 2024-04-17 11:21:17 +02:00
Jacob Overgaard 1e7b048756 update backoffice submodule 2024-04-17 09:38:48 +02:00
Nikolaj Geisle d25c3ca86d Merge remote-tracking branch 'origin/v13/dev' into release/14.0
# Conflicts:
#	src/Umbraco.Core/EmbeddedResources/Lang/en_us.xml
#	src/Umbraco.Infrastructure/BackgroundJobs/Jobs/ReportSiteJob.cs
#	tests/Umbraco.Tests.Integration/Umbraco.Core/Telemetry/TelemetryServiceTests.cs
2024-04-17 09:10:05 +02:00
Zeegaan 0993a61d39 dont depend on e2e 2024-04-17 08:07:01 +02:00
dependabot[bot]andJacob Overgaard bb9e66d0da Bump vite from 5.2.2 to 5.2.6 in /src/Umbraco.Web.UI.Login
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.2.2 to 5.2.6.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.2.6/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-16 17:23:20 +02:00
ElitsaandJacob Overgaard dc9c28db9a Added missing endpoints 2024-04-16 17:18:51 +02:00
Jacob Overgaard db0c315aae bump to 14.0.0-rc1 2024-04-16 17:14:45 +02:00
6dd08b2377 V14 External login linking + Proposed error handling (#16052)
* 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>
2024-04-16 17:08:55 +02:00
Lee KelleherandGitHub 298f4de973 Merge pull request #16069 from umbraco/v14/feature/login-assets-cleanup
V14: Optimise login screen javascript
2024-04-16 15:59:12 +01:00
Jacob Overgaard 9be314b509 load the auth bundle 2024-04-16 16:52:28 +02:00
Bjarke BergandGitHub 36bde9e7f0 Add JsonObjectConverter to the default serializer and make a safe check before adding index (#16067)
* 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
2024-04-16 16:47:58 +02:00
Jacob Overgaard 41bbe67343 update backoffice submodule 2024-04-16 16:43:35 +02:00
Jacob Overgaard 9698b8331e make the login client load in the uui-css assets directly from the backoffice client since we are hooking on to the uui javascript anyway (this way we dont have to maintain uui several places) 2024-04-16 16:34:43 +02:00
Jacob Overgaard 43e4d3e83d make sure the login screen doesn't load entrypoints meant for the backoffice client (only simple extensions are supported on the login screen) 2024-04-16 16:31:15 +02:00
Jacob OvergaardandGitHub a15c8ddf3b V14/chore/pipelines e2e nuget (#16066)
* make the myget release wait for e2e tests

* update api docs after the nuget stage
2024-04-16 14:56:40 +02:00
MoleandGitHub 096991ac79 V13: Add webhook information to detailed telemetry (#16060)
* Cleanup ReportSiteJob

* Report on registered webhook event types

* Report on custom header webhook count

* Use constants instead of magic strings

* Update tests

* Update translation files
2024-04-16 14:36:02 +02:00
Bjarke BergandGitHub 43bf2a26d1 Fixed issue with custom fields not determined as custom (#16065) 2024-04-16 13:39:14 +02:00
cd6f2b4b6d V14: Support custom Swagger schema and operation identifiers for external packages (#16062)
* 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>
2024-04-16 12:52:45 +02:00
Nhu DinhandGitHub 0988f4a7be V14 QA Added missing tests for Partial View, Stylesheet, Script, Template (#16059)
* 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
2024-04-16 12:12:09 +02:00
Kenn JacobsenandGitHub a6a76d1815 Make the API content response builder extendable (#16056)
* Make the API content response builder extendable

* DeliveryApiJsonTypeResolver needs to be extendable too
2024-04-16 12:03:44 +02:00
Jacob OvergaardandGitHub 9f6af970b4 V14/feature/login image (#16063)
* 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
2024-04-16 11:34:19 +02:00
Ronald BarendseandGitHub e680be506f v14: Update ImageSharp and MailKit dependencies (#16061)
* Remove duplicate PackageReferences

* Update ImageSharp dependencies

* Update MailKit dependency to 4.5.0
2024-04-16 11:12:05 +02:00
Lee KelleherandGitHub 68f623ede8 V14: MediaPicker/MNTP - Changed StartNodeId from a Udi to Guid (#16042)
* MediaPicker3: Changed `StartNodeId` from a `Udi` to `Guid`

* MNTP: Changed `StartNodeId` from a `Udi` to `Guid`
2024-04-16 11:01:18 +02:00
6379f2fd35 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>
2024-04-16 08:55:40 +02:00
Ronald BarendseandGitHub 2d850bf8f1 v14: Add async methods to Deploy interfaces (#16055)
* 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
2024-04-15 18:04:47 +02:00
Kenn JacobsenandGitHub 5ddf7a1be7 Clean up FIXMEs in security controllers (#16038) 2024-04-15 17:27:37 +02:00
3edc783ddb V14: Additional blueprint endpoints (#16047)
* Fix /item endpoint response when 0 ids

* Adding GetPagedByContentTypeKeyAsync to IContentBlueprintEditingService

* Adding mapping for new DocumentTypeBlueprintItemResponseModel

* New endpoint and operation status handling

* Fix test cases

* Added tests

* Fixed partial test references

* Rename method

* Add ancestors endpoint for blueprints

* Change == to is

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

---------

Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2024-04-15 13:49:08 +02:00
MoleandGitHub 2a889f502b V14: Clean up backend translation files (#16050)
* Remove unused translation areas

* Cleanup translation files
2024-04-15 11:13:58 +02:00
Bjarke Berg ee5936804d Do not execute query if no macros found 2024-04-15 10:55:42 +02:00
Nikolaj GeisleandGitHub e15bddcc39 Set invite users to false if deny local login is true (#16043) 2024-04-15 10:26:49 +02:00
Ronald BarendseandGitHub ad82fe89cf v14: JSON schema tool improvements (#16035)
* 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
2024-04-15 08:58:52 +02:00
767c417153 Only add a SQL in statement if there are keys to filter on (#16044)
* 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>
2024-04-15 08:55:50 +02:00
Kenn JacobsenandGitHub 576b360cce Removed leftover System.Text.Json dependencies (#16040) 2024-04-15 08:51:00 +02:00
Bjarke BergandGitHub 2f0b3d055f Fixed check to support unix/linux OS (#16045) 2024-04-12 14:57:31 +02:00
89de08a1e8 V14: Remove member list view (#15979)
* Remove default member list view

* Fix up test

---------

Co-authored-by: nikolajlauridsen <nikolajlauridsen@protonmail.ch>
2024-04-12 10:58:26 +02:00
Sebastiaan Janssen 62421f67ac Sync submodule 2024-04-11 17:08:55 +02:00
Sebastiaan Janssen 403ab49c22 Merge branch 'v14/dev' into contrib 2024-04-11 16:49:21 +02:00
Jacob Overgaard 5c3527d4f4 bump to 14.0.0-beta004 2024-04-11 15:57:48 +02:00
Jacob Overgaard 159e103936 Merge branch 'release/14.0' into v14/dev 2024-04-11 15:56:22 +02:00
Jacob Overgaard ba16aef194 add manual check for validation 2024-04-11 14:59:39 +02:00
Jacob Overgaard 8965e9c180 update dependencies 2024-04-11 14:59:19 +02:00
d5809da665 V14: Move towards get guid (#15889)
* 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>
2024-04-11 13:53:34 +02:00
Nikolaj GeisleandGitHub 0b62df2bb4 Add "UserIsAlreadyLoggedIn" property to BackOfficeLoginModel (#16034) 2024-04-11 13:48:20 +02:00
Jacob Overgaard 821e4e439e Merge remote-tracking branch 'origin/v14/dev' into release/14.0 2024-04-11 12:21:12 +02:00
Jacob Overgaard 40e6359499 update backoffice submodule 2024-04-11 12:20:45 +02:00
Jacob Overgaard 5c197cfa43 Merge remote-tracking branch 'origin/v14/dev' into release/14.0 2024-04-11 12:20:16 +02:00
Bjarke BergandGitHub 782c009754 Improvements to the OpenAPI Docs (#14754)
* Ensure APIS only can produce one response type

* Ensure APIs document Unauthorized and Forbidden results

* If a controller constructor injects IAuthorizationService we assume the actions can return forbidden

* Updated OpenApi.json

* OpenApi.json

* Update OpenApi.json

* Update OpenApi.json
2024-04-11 11:58:47 +02:00
Alina-Magdalena TincasandGitHub 85747593cc Update v14 api docs with info from umbraco docs (#15977)
* update api docs

* small update
2024-04-11 11:19:23 +02:00
513f39f623 Prevent template circular references (#15907)
* Added a simpel circular reference check to templates

* Upgraded detecting to all levels

* Rename method and add comment to clarify why we have 2 similar methods

* Apply suggestions from code review

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

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2024-04-11 11:18:00 +02:00
acae5f2d57 Remove "additional data" from entities (#16024)
* Remove "additional data" from entities

* Fix merge issue

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2024-04-11 10:55:21 +02:00
Kenn JacobsenandGitHub faee63627f Cleaned up some low-hanging FIXMEs (#16010)
* Cleaned up some low-hanging FIXMEs

* Fixed merge
2024-04-11 10:50:31 +02:00
Kenn JacobsenandGitHub a982df97a6 Remove manifest validators (#16027)
* Remove manifest validators

* Remove "Configuration" from RegexValidator
2024-04-11 10:42:22 +02:00
Kenn JacobsenandGitHub 459cd79a06 Remove RTE embedded image handling + clean up file upload configuration (#16025) 2024-04-11 10:40:44 +02:00
Jacob Overgaard 10fa3b87bf update backoffice submodule 2024-04-11 10:30:40 +02:00
Jacob OvergaardandGitHub 858a1af6c1 update imports on Web.Ui.Login after breaking change merged in the backoffice client (#16033) 2024-04-11 09:27:56 +02:00
Kenn JacobsenandGitHub 45a169f62b Clean up explicit test dependencies for System.Text.Json serializer (#16017) 2024-04-11 09:17:48 +02:00
Jacob Overgaard 5a87b1af6f update backoffice submodule 2024-04-11 09:15:23 +02:00
48e9be2b73 Content & media url endpoints (#15832)
* First go at the document url controller

Added optimizations for documenturlFactory

* Updated Document Url endpoint

Duplicated the endpoint for media
Cleaned up some code marked async that will never hit a long running operation

* Remove dupplicate attributes

* Rename resource sets to response model

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2024-04-11 09:10:45 +02:00
Kenn JacobsenandGitHub d47638df98 Remove remnants of the Angular implementation (#16026) 2024-04-11 09:08:56 +02:00
Ronald BarendseandGitHub 80c5d28316 v14: Update .NET dependencies to 8.0.4 (#16031)
* Update .NET dependencies to 8.0.4

* Update StyleCop.Analyzers to 1.2.0-beta.556
2024-04-10 21:32:58 +02:00
Ronald BarendseandGitHub 7c2a0f8976 Update to NJsonSchema 11.0.0 and use SystemTextJsonSchemaGeneratorSettings (#16030) 2024-04-10 21:25:54 +02:00
16dd5327d4 v14: Refactor and enhance System.Text.Json converters (#15960)
* Update JsonUdiConverter to support Udi, GuidUdi and StringUdi types

* Require boolean (like) value and rename to JsonFuzzyBooleanConverter

* Add read/write only JsonConverters and align naming

* Rename SystemTextJsonSerializer to DefaultJsonSerializer

* Rename SystemTextConfigurationEditorJsonSerializer to DefaultConfigurationEditorJsonSerializer

* Add JsonUdiRangeConverter

* Rename JsonFuzzyBooleanConverter back to JsonBooleanConverter

* Fix value type check in JsonObjectConverter

* Revert class names

* Updated tests

* Post fix after merge.

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2024-04-10 20:21:24 +02:00
Ronald BarendseandGitHub 1c5e27397b Remove Newtonsoft.Json from tests (#16029) 2024-04-10 19:30:32 +02:00
Kenn JacobsenandGitHub 1c799802c5 Deduplicate the magic string "/management/api/" (#16016) 2024-04-10 14:21:59 +02:00
Bjarke Berg 7b6db02426 Merge remote-tracking branch 'origin/v14/dev' into v14/dev 2024-04-10 13:21:38 +02:00
Bjarke Berg 46994c2d1c Added missing index, while adding column key to users 2024-04-10 13:21:32 +02:00
d50b3a521e Simplify user group authorization failure statuses (#16009)
Co-authored-by: Elitsa <elm@umbraco.dk>
2024-04-10 12:39:22 +02:00
fcda25af50 Premigrations + Updated NuGet Dependencies (#15987)
* Updated nuget packages + added migrations for OpenIddict - Currently can only be executed using unatttended installs

* Added new Premigration concept - Migrations that always runs unattended before other migrations

* Apply suggestions from code review

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

---------

Co-authored-by: Zeegaan <skrivdetud@gmail.com>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2024-04-10 12:30:30 +02:00
082d504b33 Fix tracked reference queries for SqlServer (#16020)
* Fixed issue with SqlServer and optimized queries to not do the actual paging if total count is 0

* Cleanup

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
2024-04-10 12:03:32 +02:00
Jacob Overgaard c241bfd85a update backoffice submodule 2024-04-10 11:56:59 +02:00
Ronald BarendseandGitHub 4c3c3cd158 v14: Align Deploy interfaces, remove obsolete methods and default interface implementations (#15965)
* Align FromArtifact return type with IDataType.ConfigurationData

* Align Alias nullability with interface

* Lazily initialize ArtifactDependency collection when not set

* Remove ShouldSerializeChecksum (not used by STJ)

* Remove obsolete methods and default interface implementations

* Order dependencies once when setting collection

* Update test to include artifact Checksum property
2024-04-10 10:12:38 +02:00
Jacob Overgaard eecb493585 use correct types for login build 2024-04-10 08:53:47 +02:00
Jacob Overgaard fe7f79aacf update backoffice submodule 2024-04-09 17:45:44 +02:00
41238d141a Move manifest endpoints to their own, independent API group and fix access policies accordingly (#15989)
* Move manifests to their own API group and fix access policies

* Update OpenApi.json

* add an endpoint to fetch "private" packages, i.e. AllowPublicAccess=false

* Review comments

* update OpenAPI.json

* update OpenApi.json

* allow /umbraco/logout to be used for PostLogoutRedirectUris when logging out through the management api

* use the Umbraco.Extensions string extensions instead

* add constraints to the BackofficeDefaultController to handle the cases of 'install', 'upgrade', and 'logout'

---------

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
2024-04-09 17:44:49 +02:00
Lars-ErikandSebastiaan Janssen 2bb56f1b81 Implementors using Umbraco.Tests.Integration won't have to override GetLocalizedTextService
(cherry picked from commit b0016687eb)
2024-04-09 12:56:15 +02:00
Elitsa MarinovskaandGitHub ac7e4c1fa3 Clean up comments that won't apply (#16018) 2024-04-09 12:07:55 +02:00
b8ae3e34ff Convert Tourdata into a more generic concept (#15923)
* Added UserData and migrated tours data into it

* Remove tourdata from user

* Removed tour definition/manipulation classes

Fixed a userData error typo

* Removed toursettings

* Update openapi spec

* V13: Align database schemas of migrated and new database (#15934)

* Drop default constraint umbracoCacheInstruction table

* Align umbracoContentVersion table

* Update indexes on external login table

* Align node table

* Make relation type index unique

* Remove user-group default constraint

* Re-order methods

* Make webhook url not nullable

* Cleanup

* Cleanup

* Update OpenApi.json

* Update src/Umbraco.Cms.Api.Management/Controllers/UserData/UserDataControllerBase.cs

* Remove tour settings from schema

* Add cancelation tokens

* Dont inject, but take as parameter

* Remove some from injection

* Update schema

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
Co-authored-by: Zeegaan <skrivdetud@gmail.com>
2024-04-09 11:59:43 +02:00
Sebastiaan Janssen 9ad413db4c Merge branch 'v14/dev' into contrib 2024-04-09 11:18:11 +02:00
Kenn JacobsenandGitHub de1fc65393 Swagger: Don't use allOf for inheritance + fix polymorphic models (#15985)
* Swagger: Don't use allOf for inheritance + fix polymorphic models

* Cannot mix $ref and nullable in OpenAPI

* Update OpenApi.json

* Regenerate OpenApi.json
2024-04-09 10:20:20 +02:00
MoleandGitHub 91085d9b21 Refactor DocumentPresentationFactory to use ITemplateService instead of IFileService (#15995) 2024-04-09 10:18:26 +02:00
9c18cd22e0 V14: Deleted code marked as obsolete for V14 (#15998)
* Obsoletions related to Delivery API

* Fix TypeLoader and TypeFinder tests

* Remove obsolete and default implementations of IFileSource and IFileTypeCollection

* More Delivery API related obsoletions

* VariationContextAccessor related

* ValueFactories obsoletion and fix references

* ValueSetBuilders obsoletions

* ValueConverters obsoletions

* Other obsolete ctors and methods

* Forgotten VariationContextAccessor obsoletion

* More obsoletions

* XPath related obsoletions

* Revert XmlHelper changes

* Delete RenamedRootNavigator and its tests

* Fix test

* XmlHelper obsoletion

* Return null instead of GetXPathValue

* Obsolete entire class instead

* Remove XPath obsoletions from IPublishedCache

* Remove XPath-related if-block that is no longer needed

* Change obsolete msg for classes needed for NuCache

* Moving classes to NuCache and making them internal

* Remove more XPath-related obsoletions

* Remove NavigableNavigator and its tests

* Cleanup

* Remove Xpath references from tests

* Revert interface deletion in MediaCache

* Using XOR operation

Co-authored-by: Nuklon <Nuklon@users.noreply.github.com>

---------

Co-authored-by: Nuklon <Nuklon@users.noreply.github.com>
2024-04-09 09:06:48 +02:00
187d45860a V14: Add cancellation tokens to all endpoints (#15984)
* Add CancellationToken to controllers

* Fix GetManagementApiUrl

* Forgotten Item and Tree controllers

* Document Blueprint and Version endpoints

* Fix merge conflict

* Cleanup

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
2024-04-09 08:18:45 +02:00
ddf663d30b Support containers for blueprints (#15983)
* Support containers for blueprints

* Update OpenApi.json

* Fix tree ordering

* Add CancellationToken to new endpoints

* Change to doc blueprint specific things

* Fix policies

* Cleanup

* Use ContentBlueprintEditingService methods instead of underlying ContentService

* Review comments

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
2024-04-08 14:55:46 +02:00
e326370b5f V14: Deleted code marked as obsolete for V12 and V13 (#15999)
* Forgotten v12 obsoletions

* V13 obsoletions

* Remove LegacyStaticServiceProvider and fix using statements of StaticServiceProvider

* Remove obsolete ctors for v13

* More v13 obsoletions

* UmbracoMapper obsoletion

* UmbracoPipelineFilter obsoletion

---------

Co-authored-by: nikolajlauridsen <nikolajlauridsen@protonmail.ch>
2024-04-08 11:17:32 +02:00
Bjarke BergandGitHub 85d35b3a69 Ensure the user is authenticated to see webprofiler/miniprofiler logs (#16007) 2024-04-08 11:14:25 +02:00
Kenn JacobsenandGitHub b552ccb885 Rename Examine based entity search service (#15991)
* Rename Examine based entity search service

* Add a few comments to make it easier to tell the "indexed" search service from the "regular" one.
2024-04-05 17:42:08 +02:00
Sven Geusens 45e584c061 Merge remote-tracking branch 'origin/v13/dev' into v14/dev
# Conflicts:
#	src/Umbraco.Infrastructure/Migrations/Upgrade/UmbracoPlan.cs

# Ignored Conflicts (Umbraco.Web.UI.Client is completly replaced in v14)
#	src/Umbraco.Web.UI.Client/src/common/directives/components/application/umbtour/umbtourstep.directive.js
#	src/Umbraco.Web.UI.Client/src/views/components/application/umb-tour.html
#	src/Umbraco.Web.UI.Client/src/views/components/application/umbtour/umb-tour-step-content.html
#	src/Umbraco.Web.UI.Client/src/views/components/application/umbtour/umb-tour-step-counter.html
#	src/Umbraco.Web.UI.Client/src/views/components/application/umbtour/umb-tour-step-header.html
#	src/Umbraco.Web.UI.Client~HEAD
#	src/Umbraco.Web.UI.Login/package-lock.json
#	src/Umbraco.Web.UI.Login/package.json
2024-04-05 14:14:45 +02:00
Kenn JacobsenandGitHub c6f1189418 Return 404 instead of 500 when an "original parent" has been deleted (#15990) 2024-04-05 12:49:24 +02:00
Lars-ErikandJason Elkin b0016687eb Implementors using Umbraco.Tests.Integration won't have to override GetLocalizedTextService 2024-04-04 17:07:24 +01:00
3cc14888a9 Moved logic from FolderTreeControllerBase service layer (#15976)
* Moved logic from FolderTreeControllerBase into EntityService and EntityRepository

* Custom sorting for data types, not media types

* Ensure ordering is the same for SQLite and SQLServer

---------

Co-authored-by: kjac <kja@umbraco.dk>
2024-04-04 11:27:13 +02:00
Sebastiaan Janssen e993c23d5c Merge branch 'v13/dev' into contrib
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2024-04-04 11:25:13 +02:00
Elitsa MarinovskaandGitHub 43f77eef64 Remove StaticServiceProvider usage (#15978) 2024-04-04 11:25:13 +02:00
dependabot[bot]andSebastiaan Janssen 71e16d20ef Bump vite from 5.1.1 to 5.1.7 in /src/Umbraco.Web.UI.Login
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.1.1 to 5.1.7.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v5.1.7/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.1.7/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-04 11:12:22 +02:00
Nhu DinhandGitHub 978d191039 Bumped version of test helper (#15981) 2024-04-04 10:58:49 +02:00
Lee KelleherandGitHub ac1ef52aba Download Created Package MIME type (#15982)
Sets the appropriate MIME type of the Created Package download,
this would be either an XML string or a ZIP file. The MIME type will
be used on the client-side to handle the responds accordingly.
2024-04-04 10:37:42 +02:00
Nikolaj GeisleandGitHub b5c6a2088f Return null if container type is not found (#15974) 2024-04-04 09:50:31 +02:00
Elitsa MarinovskaandGitHub be16aa0663 V14: Test new content blueprint editing service (#15970)
* Fix wrong service name

* Move tests to correct place and fix naming

* Introducing a test base

* Tests IContentBlueprintEditingService

* Remove comment

* Adding Assert.Multiple

* More Assert.Multiple + Can_Create_With_Basic_Model() and Cannot_Create_When_Content_Type_Not_Found()
2024-04-04 09:40:06 +02:00
Kenn JacobsenandGitHub 70878f501e Make property container type parsing explicit (#15963) 2024-04-04 09:32:24 +02:00
Jacob Overgaard d74b4d99d1 update backoffice submodule 2024-04-04 09:14:50 +02:00
Kenn JacobsenandGitHub 75b1d4729f Examine entity search for documents, media and members (#15972) 2024-04-03 18:49:23 +02:00
a95a092c39 V14: login screen (#15932)
* remove the temp login screen

* set login build back to esm

* convert razor entrypoint to show new login screen

* enable loading a user defined stylesheet that can be overridden through RCL mechanics

* remove unused file

* for now, remove the call to the old `localizedtext` endpoint until a replacement has been built

* add fallback font

* remove login to the old backoffice

* change models for twoFactorView

* Send view that have to be used for 2fa.

* get 2fa providers from the login call directly

* Return 2fa providers

* map enabledTwoFactorProviderNames to the view

* use correct endpoints for 2fa

* Send link

* change key to id in querystring

* improve localization

* merge authUrl

* Added flow query parameter

* remove unused getter

* remove debug info

* fix fallback value

* fallback value

* Added invite url to email

* Clean up

* Added password configuration to the verify responses, so the client knows, and have confirmed the user is allwed to see it

* allow reset password

* Allow anonymous on invite create password

* open api

* check for invite

* fix fallback text

* validate invite token

* try to extract the problem details object

* add error logging

* fix invite user parameters

* Use correct id for performing user

* Allow password reset on yourself without the old password, if you are currently invited

* hardcode the authorize endpoint url for now

* fix handlers and disable icons for now

* import icons from backoffice client

* add backoffice path to icons

* fix handler for 2fa custom view

* update image temporarily

* remove old icon registry

* convert login components to UmbLitElement

* convert `UmbAuthContext` into a real context with a token

* cleanup dependencies

* optimise vite

* remove lit

* optimise external login component loader

* use generated resources for reset password

* use generated resources for all methods

* import and register the main bundle

* register localization

* change localization keys

* update all localization keys to new format

* replace tokens

* copy code

* added danish translations

* convert to lowercase

* all languages should have same weight

* added german translations

* add missing variable

* missing text

* added dutch translations

* added swedish translations

* added norwegian translations

* add temporary fix so the login app can be built

* make sure BuildLogin is run only after BuildBellissima has been run to ensure the dependencies are present on disk

* run the real login build in pipelines

* set vite language to en-us

* optimise msw warnings

* wait a bit before rendering the form so we know everything has been loaded

* Add external login endpoint + move models around

* Allow FORM submissions to the external login endpoint

* rename `IdentityProvider` back to `Provider` to avoid a breaking change from V13

* type in url for login-external manually (for now) since route attributes are no longer a thing

* move GET back to POST for external forms

* load in public manifests on boot of the login screen

* Clean up

* handle the case where an external login provider has disabled local login and show a message instead of the login form

* remove external login providers from the server login screen

* add more translations

* use the friendly greeting for the error layout

* show login form

* add mock handler for public manifest endpoint

* remove the external login layout

* fix test

* Added generic English localization

as a fallback language.

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
Co-authored-by: kjac <kja@umbraco.dk>
Co-authored-by: leekelleher <leekelleher@gmail.com>
2024-04-03 15:45:09 +02:00
be58f3142d V14 QA Fixed/Cleaned up the api acceptance tests (#15964)
* Removed api tests for RelationType since it is impossible to create/update/delete relation type

* Fixed api tests for UserGroup

* Fixed api tests for UserAvatar

* Fixed api tests for User

* Fixed api tests for Temporary File

* Fixed api tests for Dictionary

* Fixed api tests for DataType

* Fixed api tests for DataTypeFolder

* Cleaned up

* Bumped version of test helper

* Update tests/Umbraco.Tests.AcceptanceTest/tests/ApiTesting/Dictionary/Dictionary.spec.ts

Co-authored-by: Andreas Zerbst <73799582+andr317c@users.noreply.github.com>

* Reversed the api tests for Relation Type

---------

Co-authored-by: Andreas Zerbst <73799582+andr317c@users.noreply.github.com>
2024-04-03 12:06:54 +02:00
1437483a68 V14: Add IsAdmin to user and current user response models (#15969)
* Added isAdmin og user response models

* updated factory

* revert line removal

---------

Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2024-04-03 11:08:47 +02:00
Kenn JacobsenandGitHub 06cfec25aa Fix swagger schema error after #15946 (#15971) 2024-04-03 10:16:02 +02:00
ChadandJason Elkin 682b7656bc Update RefreshMethodType.cs 2024-04-02 21:49:03 +01:00
Elitsa MarinovskaandGitHub 37734efd15 V14: Blueprint CRUD endpoints (#15947)
* Get blueprint by key

* Renaming

* Implementing DeleteBlueprintAsync

* Fixing tests to use the new method

* Making ContentControllerBase abstract

* Cleanup

* Implementing Delete blueprint endpoint

* Revert obsoletion in ContentService.cs

* More reverting

* Remove usings

* Introducing IContentBlueprintEditingService

* Refactor Get and Delete blueprint endpoints to use the new IContentBlueprintEditingService

* Fix base inheritance case in SchemaIdSelector

* Creating RequestModelBase for UpdateDocument to be reused in both document and blueprint models

* Creating DocumentResponseModelBase to be reused in both document and blueprint models

* Renamed blueprint response model for item endpoint to be aligned with the rest of the item models

* More renaming changes of the DocumentBlueprintItemResponseModel

* Refactor ByKeyDocumentBlueprintController to make use of the new blueprint models

* New blueprint models and mapping

* Adding UpdateAsync to ContentBlueprintEditingService

* Adding IDocumentBlueprintEditingPresentationFactory.cs

* Adding UpdateDocumentBlueprintController.cs

* Adding methods required from the base

* Fixing bug in document type mapping - mapping incorrect key

* Cleanup

* Fix item endpoint

* Adding MapCreateModel

* Adding create model

* Creating request model base + related classes

* Another request model

* Blueprint editing service

* Adding create controllers

* Adding DuplicateName operation status for blueprints and handling it

* Updating OpenApi.json

* Fix comment

* Fix mapping

* Adding comments

* Passing in id for create blueprint from document model

* Mapping default state to Draft - no need to calculate it, it will always be that for blueprints

* Cleanup

* Update OpenApi.json

* Review comments

* Fix policies

* More policy updates
2024-04-02 12:53:06 +02:00
95849c265b Document version endpoints (#15946)
* Rename/Move/duplicate PaginationService to facilitate conversion closer to the data layer

Duplication is because of internal modifier as we don't want to expose these temporary classes

* Move Guid to Int Extensions into core + add unittests

* Added Document version endpoints

Updated used services to use async methods

* Moved PaginationConverter into core so it can be used by the service layer

* Endpoint structure improvements

* Updating OpenApi.json

* Add greedy constructors for contentService tests

* Namespace changes and naming cleanup

* Update openapispec again...

* Refactor injected services

* PR suggestion updates

- Move endpoints into their own structural section as they are also in a different swagger section
- Naming improvements
- Allign PresentationFactories with similar classes
- Cleanup unused assignments
- Cleanup refactoring comments
- Improve obsoletion remarks

* Cleanup

* ResponseModel improvements

* OpenApi spec update

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Elitsa <elm@umbraco.dk>
2024-04-02 12:12:36 +02:00
Kenn JacobsenandGitHub 1866b61e12 Use an extension method for fetching a required user in a common way (#15953) 2024-04-02 11:20:05 +02:00
Kenn JacobsenandGitHub 96f2b17c5a Entity search - take one (#15951)
* Add entity search endpoints (to be replaced with Examine based ones for content, media and member)

* Update OpenApi.json
2024-04-02 10:40:45 +02:00
Nhu DinhandGitHub 892a39d39a V14 QA Fixed the failing tests due to UI changes (#15944)
* Bumped version of test helper

* Changed clickCreateButton to clickCreateLink due to UI changes

* Bumped version of json builder

* Changed delete folder method

* Bumped version of test helper

* Added skip tests since currently only can view relations
2024-04-02 09:39:01 +02:00
MoleandGitHub d765e69713 V13: Align database schemas of migrated and new database (#15934)
* Drop default constraint umbracoCacheInstruction table

* Align umbracoContentVersion table

* Update indexes on external login table

* Align node table

* Make relation type index unique

* Remove user-group default constraint

* Re-order methods

* Make webhook url not nullable

* Cleanup

* Cleanup
2024-04-02 08:31:38 +02:00
Jacob Overgaard b3c25ca477 update backoffice submodule 2024-03-27 17:43:59 +01:00
Sven Geusens 67d80da9ed Merge branch 'v13/dev' into v14/dev
# Conflicts:
#	src/Umbraco.Infrastructure/PropertyEditors/MultiUrlPickerValueEditor.cs
#	src/Umbraco.Web.Common/Profiler/WebProfiler.cs
#	src/Umbraco.Web.UI.Client/package-lock.json
#	src/Umbraco.Web.UI.Client/src/common/directives/validation/valpropertymsg.directive.js
#	src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/linkpicker/linkpicker.controller.js
#	src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/linkpicker/linkpicker.html
#	src/Umbraco.Web.UI.Client/src/views/content/content.create.controller.js
#	src/Umbraco.Web.UI.Client/src/views/content/create.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/blockgrid/umbBlockGridPropertyEditor.component.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/multiurlpicker/multiurlpicker.controller.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/multiurlpicker/multiurlpicker.html
#	src/Umbraco.Web.UI.Client~HEAD

# Ignored changes
#  https://github.com/umbraco/Umbraco-CMS/pull/14787
#  https://github.com/umbraco/Umbraco-CMS/pull/15853
#  https://github.com/umbraco/Umbraco-CMS/pull/15841
2024-03-27 16:13:09 +01:00
Jacob Overgaard 03044202fa update backoffice submodule 2024-03-27 15:20:40 +01:00
Sven Geusens 43920f9adc Merge branch 'v12/dev' into v13/dev 2024-03-27 15:04:00 +01:00
1fdc0e2582 Relations/types mangement api cleanup (#15910)
* Made Relation types read only trough the management api

* Removed path from RelationTypeResponseModel

* Removed RelationTypes tree controllers

* Deleted ByChildRelationController as the usecase has been internalized

* Reworked RelationResponseModel

* Added the ID the toe relation response model

* RelationType.IsDeletable is no longer relevant for the management api

Since types are only managed trough code.

* Removed RelationType create/update leftovers

Brought RelationType responsemodels more in line with similar models
Update openapi spec

* Review improvements

* Renamed controller file to match class name

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Mads Rasmussen <madsr@hey.com>
Co-authored-by: kjac <kja@umbraco.dk>
2024-03-27 10:01:29 +01:00
e1ee896556 Refactor Tracked references endpoints (#15933)
* Moved tracked references under their respective sources

Prepped the endpoints to be more inline with how we will optimize in the future

* Fixed some endpoint signature issues and update openapi spec

* Partial Revert "Moved tracked references under their respective sources"

This reverts the submodule update in commit 3819276a74.

* Fix duplicate line

* Rework for polymorphic output

* Improved endpoint naming

* Regenerate OpenApi.json

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: kjac <kja@umbraco.dk>
2024-03-26 14:32:56 +01:00
Ethan NaganoandGitHub fdea8c28c8 14744 tour not coded to best practice (#15133)
* Apply focusLockService to TourStepDirective

Apply focusLockService to TourStepDirective in order to ensure that
non-modal page contents are inert and do not interfere with focus on
modal dialog with regards to screen reading technologies.

* Add properties to umb-tour.html.

Add properties to umb-tour html page to ensure that it aligns with modal
dialog best practices.

* Add dialog properties to Umbraco tour .html files.

Add properties relating to dialog and accessibility to the Umbraco tour
.html files, including aria-label, role, and tab index.
2024-03-26 09:39:34 +00:00
Jacob Overgaard 2175d523cc update backoffice submodule 2024-03-26 09:55:04 +01:00
Jacob Overgaard 7cb03c3a71 update backoffice submodule 2024-03-26 09:07:41 +01:00
3e6d48e6d0 Fixed contentTypeIds being mapped to the id of the wrapping entity (#15941)
Co-authored-by: Sven Geusens <sge@umbraco.dk>
2024-03-25 17:45:50 +01:00
4dca7495f8 Handle sensitive properties in the Management API (#15936)
* Handle sensitive properties in the Management API

* Use Assert.Multiple to catch all failing tests in one run

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
2024-03-25 16:56:13 +01:00
Ethan NaganoandGitHub ce372abf8a Add check for ContentVariation.Nothing when copying documents. (#15185)
A new check for ContentVariation.Nothing is necessary when copying from
documents to ensure that if there is no content variation as defined by
the Nothing property, values are still copied even if variation is not
supported since the content itself will not vary.
2024-03-25 13:27:36 +00:00
f6f868e463 Add ancestor endpoints and remove explicit parent context (#15746)
* Remove explicit parent context in API outputs

* Add ancestor endpoints for document and data type (experimental for now)

* Add ancestor endpoints for doctypes, media, mediatypes, partial views, scripts, static files, stylesheets and templates

* Add unit tests for ancestor ID parsing

* Add ancestor endpoint for dictionary items

* Update OpenApi.json

* Fix merge and regenerate OpenApi.json

* Regenerate OpenApi.json

* Rename "folder" to "parent" for consistency

* Fix merge

* Fix merge

* Include "self" in ancestor endpoints

* Handle ancestors for root items correctly

* Remove "type" from recycle bin items

* Tests against fixed values instead of calculated ones.

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
2024-03-25 12:15:50 +01:00
Jacob Overgaard e441639786 update backoffice submodule 2024-03-25 11:10:18 +01:00
Jacob Overgaard 82f725b2be update backoffice submodule 2024-03-25 10:57:08 +01:00
Jacob Overgaard c620b84fdc update backoffice submodule 2024-03-25 09:57:16 +01:00
Kenn JacobsenandGitHub b1c3473856 Introduce path provider and resolver for the Content Delivery API (#15922) 2024-03-22 14:12:33 +01:00
Jacob Overgaard d5d7023eaa update backoffice submodule 2024-03-22 13:28:02 +01:00
dd68a6da7f V14: Add reserved fields to config endpoints (#15919)
* Add reserved fields to documents

* Add member configuration endpoint

* Add reserved field to media configuration

* Refactor to use service instead on hardcoded methods

* Clean up, aligning

* Update OpenApi

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
2024-03-22 12:11:38 +01:00
Kenn JacobsenandGitHub 0ed65671bb Use the correct localization keys for core property validation errors (#15931) 2024-03-22 10:19:33 +01:00
Jacob Overgaard 113068e17d update backoffice submodule 2024-03-22 09:55:34 +01:00
kjac bef0d659c0 Update OpenApi.json (add missing manifest method) 2024-03-21 15:01:35 +01:00
Kenn JacobsenandGitHub e750d29d14 Ensure correct access to all manifests + introduce "public" package manifests (#15921)
* Introduce "public" package manifests

* Make sure "all manifests" are available to anyone with backoffice access

* review comments
2024-03-21 09:55:30 +01:00
Andy ButlandandGitHub 52c21b0fca Updates JSON schema for Umbraco 10 with latest references for Forms and Deploy (#15918) 2024-03-20 13:20:40 +01:00
Andreas ZerbstandGitHub 129e9004d8 Bumped timeout for auth test (#15917) 2024-03-20 13:03:55 +01:00
Bjarke BergandGitHub a9e5a46829 Added missing 404 (#15915) 2024-03-20 11:19:52 +01:00
Bjarke Berg d03362486b Merge remote-tracking branch 'origin/v14/dev' into v14/dev 2024-03-20 10:30:40 +01:00
Jacob Overgaard 1ab7c304bb update backoffice submodule 2024-03-20 10:23:26 +01:00
Bjarke Berg 2cb7597749 Merge remote-tracking branch 'origin/v14/dev' into v14/dev 2024-03-20 09:44:43 +01:00
Bjarke Berg b7533b57b4 Merge remote-tracking branch 'origin/release/13.2' into v13/dev
# Conflicts:
#	version.json
2024-03-20 07:15:18 +01:00
Bjarke Berg 0dc13cf23f Merge remote-tracking branch 'origin/release/12.3' into v12/dev
# Conflicts:
#	version.json
2024-03-20 07:14:33 +01:00
Ronald BarendseandGitHub dd5d5ecf51 Add additional lock timeouts and clean-up ObjectCacheAppCache (#15911)
* Remove IHostEnvironment parameter and update clear cache

* Add lock timeouts and update exception messages

* Update constructor to internal
2024-03-19 18:38:05 +01:00
Jacob Overgaard 3f95af9b02 update backoffice submodule 2024-03-19 17:34:34 +01:00
Jacob Overgaard 0ed1d6869a update beta002 backoffice submodule 2024-03-19 16:36:14 +01:00
Jacob Overgaard 5a23127832 update beta002 backoffice submodule 2024-03-19 16:22:15 +01:00
Nikolaj GeisleandGitHub 30e2dea57a v14: Remove mentions of UmbracoApiController (#15863)
* Remove mentions of UmbracoApiController

* Remove last mentions of UmbracoApi controller
2024-03-19 14:42:08 +01:00
dependabot[bot]andSebastiaan Janssen d3b96a163f Bump follow-redirects in /src/Umbraco.Web.UI.Client
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.4 to 1.15.6.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.4...v1.15.6)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-19 14:42:03 +01:00
dependabot[bot]andSebastiaan Janssen 95aba6d696 Bump follow-redirects in /tests/Umbraco.Tests.AcceptanceTest
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.4 to 1.15.6.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.4...v1.15.6)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-19 14:41:45 +01:00
Sebastiaan Janssen 9030b1c19f Merge branch 'v13/dev' into contrib 2024-03-19 14:40:30 +01:00
Jacob Overgaard 08783c6065 bump version to beta003 2024-03-19 14:20:23 +01:00
Jacob Overgaard 7213e940ca Merge branch 'v14/dev' into release/14.0 2024-03-19 14:14:17 +01:00
Bjarke Berg 79d241a910 Bump version 2024-03-19 13:59:49 +01:00
Bjarke Berg c48d6f5a38 Update imagesharp 3 2024-03-19 13:59:38 +01:00
Bjarke Berg d9e890e954 Fixed duplicate reference 2024-03-19 13:58:43 +01:00
Bjarke Berg ecdbd9653b Update imagesharp 2 2024-03-19 13:57:46 +01:00
Bjarke Berg e0bb4b6a23 Bump version 2024-03-19 13:57:36 +01:00
Jacob Overgaard 4e0df98c34 update backoffice submodule 2024-03-19 13:44:12 +01:00
Andreas ZerbstandGitHub d2f8b18456 Skipped flaky test (#15905) 2024-03-19 13:31:08 +01:00
Andreas ZerbstandGitHub e7f40affac V14 Bugfix ensures correct line endings for partial view snippets (#15906)
* Created extension class so we can ensure native line endings

* Added usage of extension method for ensuring native line endings

* Added tests, to see if the snippets return the correct content

* Removed space
2024-03-19 13:14:38 +01:00
2c41388096 Preserve user populated link title when selecting nodes in link picker (#14787)
* Prevent user populated link names being removed

When selecting a node in a link picker, the "name" (Link title) field is always overridden with the selected node's name.
This change prevents the field from being overridden if it is user populated.

* Don't update for media either

If there is already a name, don't update when selecting media

* Deselect current node

When selecting media, deselect current node if there is one

* Change to suggested functionality

Update to more elaborate functionality which will always use the *current* node name. i.e If you change the node name then the link picker name changes also.

* Reapply changes

Repply changes after merge from contrib branch

* Use IsCulturePublished() and only track node name

* Fallback to node name in preview

* Fix setting media name

---------

Co-authored-by: Ronald Barendse <ronald@barend.se>
2024-03-19 11:31:31 +00:00
Bjarke BergandGitHub 1e69695650 Added missing locks and use timeout on all of them in ObjectCacheAppCache (#15902)
* Added missing locks, and ensure we have timeout on all of them

* Wrap the removable of objects from the hashset in a lock

* remove old comment

* Exit correct lock
2024-03-19 10:23:11 +01:00
Bjarke Berg 697c13c649 Merge remote-tracking branch 'origin/v13/dev' into v14/dev
# Conflicts:
#	src/Umbraco.Infrastructure/Migrations/PreMigration/DataTypeSplitDataCollector.cs
2024-03-19 08:52:47 +01:00
Bjarke Berg 0ec9423e0a Merge remote-tracking branch 'origin/release/13.2' into v13/dev
# Conflicts:
#	version.json
2024-03-19 08:48:07 +01:00
Bjarke Berg efe24289bf Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2024-03-19 08:45:29 +01:00
Bjarke Berg 03aa17e602 Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2024-03-19 08:44:55 +01:00
Bjarke Berg 99d5a7e609 Merge remote-tracking branch 'origin/release/10.8' into v10/dev 2024-03-19 08:43:59 +01:00
Bjarke Berg 383617ec17 Fix after wrong log merge 2024-03-18 19:00:30 +01:00
Kenn JacobsenandGitHub 39085b9ad4 Add DB locking for container APIs (#15870) 2024-03-18 14:27:11 +01:00
Sven GeusensandBjarke Berg a39030f4ba DataTypeSplit datacollector should not care about propertyEditors (#15898)
This ensures keys are correctly assumed to be unique => safe for dictionary usage

Co-authored-by: Sven Geusens <sge@umbraco.dk>
(cherry picked from commit e267b41575)
2024-03-18 13:21:35 +01:00
Elitsa MarinovskaandGitHub e9cfcf4e99 Revoke previous sessions when AllowConcurrentLogins is false (#15892) 2024-03-18 13:18:57 +01:00
e267b41575 DataTypeSplit datacollector should not care about propertyEditors (#15898)
This ensures keys are correctly assumed to be unique => safe for dictionary usage

Co-authored-by: Sven Geusens <sge@umbraco.dk>
2024-03-18 12:39:24 +01:00
Andreas ZerbstandGitHub 76066eac5a Skipped failing tests (#15897) 2024-03-18 12:04:51 +01:00
Jacob Overgaard 82611f9fd2 update backoffice submodule 2024-03-18 11:59:05 +01:00
MoleandGitHub 1408298adf V14: Extend IContentEntitySlim (#15890)
* Extend EntitySlim with key

* Add ListView to GenericContentEntityDto and ContentEntitySlim

* Move ContentTypeKey and ListViewKey back to BaseDto

* Remove extra DB call when mapping to DocumentTypeReferenceResponseModel

* Remove extra DB call when mapping to MediaTypeReferenceResponseModel

* Remove duplicate db call for members

* Remove now redundant base class

* Fix comment
2024-03-18 10:46:03 +01:00
Bjarke Berg 6e3496d3f5 Fix after merge
(cherry picked from commit 3e08ce1efb)

(cherry picked from commit 7e822bb8a1)
2024-03-18 08:53:35 +01:00
Bjarke Berg 14f3336941 Fixing locking issues for document type saves. (#15854)
* Added  ExecuteNonQuery(DbCommand command) on database to ensure we call OnExecutingCommand and OnExecutedCommand when executing DbCommands

* Added Cache Instructions lock, to avoid deadlocks

* Optimized read locks for nucache when only one content type is rebuilt

* Optimized the SqlServer locks, so only one command is executed (and thereby roundtrip) per lock instead of two

* Avoid breaking changes

* Cosmetic changes

* Take locks if everything is rebuild

* Use same lock in scopes, to avoid potential deadlocks between the two

* Use eager locks in PublishedSnapshotService.cs

* Added timeouts to some of the application locks

* Revert "Use eager locks in PublishedSnapshotService.cs"

This reverts commit 01873aae97.

* Revert "Added Cache Instructions lock, to avoid deadlocks"

This reverts commit e3fca7c12a.

* Use single readlock call to lock many

* Use eager locks for reads

* Eager write locks

* Ignore test of lazy locks

* Unique timeout exception messages

---------

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

(cherry picked from commit 2c23e67c65)
2024-03-18 08:53:15 +01:00
Bjarke Berg da43d2f08c Fix after merge
(cherry picked from commit 3e08ce1efb)

(cherry picked from commit 7e822bb8a1)
2024-03-18 08:42:59 +01:00
Bjarke Berg 827fa188f4 Fixing locking issues for document type saves. (#15854)
* Added  ExecuteNonQuery(DbCommand command) on database to ensure we call OnExecutingCommand and OnExecutedCommand when executing DbCommands

* Added Cache Instructions lock, to avoid deadlocks

* Optimized read locks for nucache when only one content type is rebuilt

* Optimized the SqlServer locks, so only one command is executed (and thereby roundtrip) per lock instead of two

* Avoid breaking changes

* Cosmetic changes

* Take locks if everything is rebuild

* Use same lock in scopes, to avoid potential deadlocks between the two

* Use eager locks in PublishedSnapshotService.cs

* Added timeouts to some of the application locks

* Revert "Use eager locks in PublishedSnapshotService.cs"

This reverts commit 01873aae97.

* Revert "Added Cache Instructions lock, to avoid deadlocks"

This reverts commit e3fca7c12a.

* Use single readlock call to lock many

* Use eager locks for reads

* Eager write locks

* Ignore test of lazy locks

* Unique timeout exception messages

---------

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

(cherry picked from commit 2c23e67c65)
2024-03-18 08:42:27 +01:00
Bjarke Berg 352b6fa45b Bump version 2024-03-18 08:39:19 +01:00
Bjarke Berg 8789a643ec Bump version 2024-03-18 08:38:55 +01:00
Bjarke Berg cb02c51da7 Merge remote-tracking branch 'origin/v13/dev' into v14/dev 2024-03-18 08:36:36 +01:00
Bjarke Berg 8696f66915 Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2024-03-18 08:35:17 +01:00
Bjarke Berg 98de8acece Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2024-03-18 08:33:15 +01:00
Bjarke Berg 0f076f7a13 Merge remote-tracking branch 'origin/v10/dev' into v11/dev
# Conflicts:
#	src/Umbraco.Infrastructure/Security/UmbracoUserManager.cs
2024-03-18 08:31:10 +01:00
JeyandBjarke Berg 7e1d1a1968 Merge pull request from GHSA-552f-97wf-pmpq
Co-authored-by: jey <jey@umbraco.dk>
(cherry picked from commit b743f6a2df)
2024-03-18 08:28:25 +01:00
b743f6a2df Merge pull request from GHSA-552f-97wf-pmpq
Co-authored-by: jey <jey@umbraco.dk>
2024-03-18 08:27:41 +01:00
Bjarke Berg 7e822bb8a1 Fix after merge
(cherry picked from commit 3e08ce1efb)
2024-03-15 17:16:04 +01:00
Bjarke Berg 6f26aae708 Update client 2024-03-15 17:13:16 +01:00
Bjarke Berg 17bc6f1d0c Merge remote-tracking branch 'origin/v13/dev' into v14/dev 2024-03-15 16:00:46 +01:00
Bjarke Berg 3e08ce1efb Fix after merge 2024-03-15 15:58:22 +01:00
Bjarke Berg 1011a2c1a6 Merge 2024-03-15 15:35:08 +01:00
Bjarke Berg 77bfff83f2 Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2024-03-15 15:05:17 +01:00
Bjarke Berg a34c63a313 Merge remote-tracking branch 'origin/v11/dev' into v12/dev
# Conflicts:
#	src/Umbraco.Infrastructure/Scoping/Scope.cs
#	tests/Umbraco.Tests.Integration/Umbraco.Infrastructure/Persistence/LocksTests.cs
2024-03-15 15:01:36 +01:00
Bjarke Berg 6ea84db0ae Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2024-03-15 14:55:56 +01:00
Bjarke Berg a2511ff09b Fixing locking issues for document type saves. (#15854)
* Added  ExecuteNonQuery(DbCommand command) on database to ensure we call OnExecutingCommand and OnExecutedCommand when executing DbCommands

* Added Cache Instructions lock, to avoid deadlocks

* Optimized read locks for nucache when only one content type is rebuilt

* Optimized the SqlServer locks, so only one command is executed (and thereby roundtrip) per lock instead of two

* Avoid breaking changes

* Cosmetic changes

* Take locks if everything is rebuild

* Use same lock in scopes, to avoid potential deadlocks between the two

* Use eager locks in PublishedSnapshotService.cs

* Added timeouts to some of the application locks

* Revert "Use eager locks in PublishedSnapshotService.cs"

This reverts commit 01873aae97.

* Revert "Added Cache Instructions lock, to avoid deadlocks"

This reverts commit e3fca7c12a.

* Use single readlock call to lock many

* Use eager locks for reads

* Eager write locks

* Ignore test of lazy locks

* Unique timeout exception messages

---------

Co-authored-by: kjac <kja@umbraco.dk>
(cherry picked from commit 2c23e67c65)
2024-03-15 14:55:20 +01:00
Nikolaj GeisleandGitHub 0bafede51a Remove mention of backoffice project (#15894) 2024-03-15 13:40:09 +01:00
MoleandGitHub b619399edb Remove KeepAliveJob (#15891) 2024-03-15 12:48:31 +01:00
Jacob Overgaard c2fe847ba5 update backoffice submodule 2024-03-15 11:46:19 +01:00
Kenn JacobsenandGitHub 469a54cbbe Workaround for failing entity tree children (#15887)
* Workaround for failing entity tree children

* Fix typo from original PR

* Expose and actually use GetPagedTrashedChildren on EntityService (the default implementation on the interface is currently used).

* Ensure that ID/Key mapping for recycle bins work
2024-03-15 11:21:36 +01:00
2c23e67c65 Fixing locking issues for document type saves. (#15854)
* Added  ExecuteNonQuery(DbCommand command) on database to ensure we call OnExecutingCommand and OnExecutedCommand when executing DbCommands

* Added Cache Instructions lock, to avoid deadlocks

* Optimized read locks for nucache when only one content type is rebuilt

* Optimized the SqlServer locks, so only one command is executed (and thereby roundtrip) per lock instead of two

* Avoid breaking changes

* Cosmetic changes

* Take locks if everything is rebuild

* Use same lock in scopes, to avoid potential deadlocks between the two

* Use eager locks in PublishedSnapshotService.cs

* Added timeouts to some of the application locks

* Revert "Use eager locks in PublishedSnapshotService.cs"

This reverts commit 01873aae97.

* Revert "Added Cache Instructions lock, to avoid deadlocks"

This reverts commit e3fca7c12a.

* Use single readlock call to lock many

* Use eager locks for reads

* Eager write locks

* Ignore test of lazy locks

* Unique timeout exception messages

---------

Co-authored-by: kjac <kja@umbraco.dk>
2024-03-15 10:56:02 +01:00
Kenn JacobsenandGitHub 7964f33d0d Removed "type" from tree item response models (#15862) 2024-03-15 10:37:32 +01:00
Bjarke Berg 3718a9cdd4 Revert "Ignore test of lazy locks"
This reverts commit e03ff2661b.
2024-03-15 09:47:18 +01:00
Bjarke Berg e03ff2661b Ignore test of lazy locks 2024-03-15 09:35:19 +01:00
Jacob Overgaard ab3e420cd2 update backoffice submodule 2024-03-15 09:08:52 +01:00
Bjarke Berg d82e262e13 Update imagesharp 3 2024-03-15 08:22:53 +01:00
Bjarke Berg 0e7e16f455 Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2024-03-15 08:21:10 +01:00
Bjarke Berg 7585918821 Revert ImageSharp 3 upgrade due to breaking changes 2024-03-15 08:20:50 +01:00
Bjarke Berg 0e43c43609 Update imagesharp 3 2024-03-15 08:09:39 +01:00
Bjarke Berg 233452cb55 Merge remote-tracking branch 'origin/v12/dev' into v13/dev
# Conflicts:
#	src/Directory.Packages.props
2024-03-15 08:09:05 +01:00
Bjarke Berg 659e74d831 Update imagesharp 3 2024-03-15 08:08:27 +01:00
Bjarke Berg b4e2191a4d Merge remote-tracking branch 'origin/v12/dev' into v13/dev
# Conflicts:
#	src/Directory.Packages.props
2024-03-15 08:07:14 +01:00
Bjarke Berg fc86f2222c Merge remote-tracking branch 'origin/v11/dev' into v12/dev
# Conflicts:
#	src/Directory.Packages.props
2024-03-15 08:05:53 +01:00
Bjarke Berg 26958df79e Merge remote-tracking branch 'origin/v10/dev' into v11/dev
# Conflicts:
#	src/Directory.Packages.props
2024-03-15 07:58:21 +01:00
Kenn JacobsenandGitHub 072903cb7a Port V13 backoffice cookie validation to V14 (#15886)
* Port V13 backoffice cookie validator to V14

* Don't use ISystemClock
2024-03-15 07:53:06 +01:00
Bjarke Berg 8e837d387d Merge remote-tracking branch 'origin/v10/dev' into release/10.8
# Conflicts:
#	version.json
2024-03-14 14:53:42 +01:00
Bjarke Berg 801fb5f885 Bump version 2024-03-14 14:48:09 +01:00
Bjarke BergandGitHub ed517ecd86 Update Imagesharp (#15885) 2024-03-14 14:31:30 +01:00
6e1924d054 V14: Create member filter (#15877)
* Update filter to include membergroup name

* add filter by isApproved

* Add isLockedOut

* Implement member filter

* Move filter logic to repository

* Add more fields to sort by

* Update openApi

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2024-03-14 14:24:10 +01:00
Jacob Overgaard 88a1768b1d update backoffice submodule 2024-03-14 11:16:00 +01:00
ffcc4ac170 fix udi leaking in the management api (#15684)
* [WIP] Stop Udi leaking on ConterPicker

* Refined Udi conversion for contentPicker

Cleaned up base construcor usage to move away from the obsoleted one.

* Fixed Udi lieaking in MNTP

* Stopped Udi bleeding for MultiUrlPicker

* Remove unused assignment

* Resolved namespace issue

* Use correct configuration value for MNTP udi parsing

* Turn helper auto props into local helper function to avoid unnecesary serialization

* Remove Newtonsoft.Json from Multi URL picker

* Fixed MNTP configuration serialization

* Changed MNTP editor data from csv guid to EditorEntityReference[]

* Added remarks for the MNTP editor conversion logic

* Reworked MNTPPropertyEditor Unittests

changed intent of one
fixed bug because of 1 rework

* Update OpenApi.json

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Elitsa <elm@umbraco.dk>
Co-authored-by: kjac <kja@umbraco.dk>
2024-03-14 11:06:46 +01:00
albinjandSebastiaan Janssen 4a977b85a2 Fix UmbracoMapper InvalidOperationException due to concurrent modification of inner dictionary (#15830) 2024-03-14 11:05:18 +01:00
Jacob Overgaard f41a4f1f06 update backoffice submodule 2024-03-14 10:48:03 +01:00
9c3bc4a5c0 V14: Fix FIXMEs (#15869)
* Fix FIXMEs

* Bring AuthorizationPolicies.DenyLocalLoginIfConfigured authz policy to an action level as it doesn't apply to all

* Remove unnecessary policy

* Remove AuthorizationPolicies.DenyLocalLoginIfConfigured from base and apply to specific controllers

* Fix comment

* AllowAnonymous as it doesn't get it from the base anymore

* Reorder

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
2024-03-14 09:02:17 +01:00
ChadandGitHub 2fbda6e64b Dispose IDisposable instances (#15810) 2024-03-13 14:59:28 +00:00
nzdevandJason Elkin ac5539a8be Avoid string.Format allocations when profiler is not enabled. 2024-03-13 14:39:57 +00:00
3fdf43cff5 Make GetByIds in ContentService extensions non nullable (#15736)
* Make GetByIds in MediaService extensions nullable

* Update src/Umbraco.Core/Packaging/PackagesRepository.cs

Co-authored-by: Jason Elkin <jasonelkin86@gmail.com>

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

Co-authored-by: Jason Elkin <jasonelkin86@gmail.com>

* Update src/Umbraco.Infrastructure/Persistence/Repositories/Implement/CreatedPackageSchemaRepository.cs

Co-authored-by: Jason Elkin <jasonelkin86@gmail.com>

* Make extensions non nullable

* Update src/Umbraco.Infrastructure/Persistence/Repositories/Implement/CreatedPackageSchemaRepository.cs

Co-authored-by: Jason Elkin <jasonelkin86@gmail.com>

---------

Co-authored-by: Jason Elkin <jasonelkin86@gmail.com>
Co-authored-by: Sebastiaan Janssen <sebastiaan@umbraco.com>
2024-03-13 15:20:31 +01:00
36bb1c9d78 Add "is deletable" to relation types + align namespaces for controllers (#15867)
Co-authored-by: Elitsa <elm@umbraco.dk>
2024-03-13 15:01:07 +01:00
MoleandGitHub ae675b28f7 V14: Remove duplicate pagination helper (#15856)
* Remove management PaginationService

* Remove usage of PaginationHelper in FilterMemberFilterController
2024-03-12 12:57:29 +01:00
Bishal TimandGitHub d8b0616434 Update documentation for GetAllContentTags method in ITagQuery interface (#15860) 2024-03-12 10:23:22 +00:00
Zeegaan e84e8fdcec Update sln to include management api 2024-03-12 11:10:15 +01:00
MoleandGitHub 1e59041667 Expose default listview ids in datatype configuration endpoint (#15865) 2024-03-12 10:40:48 +01:00
9c58714343 V14: Rename new projects (#15836)
* Rename Web.UI.New back to Web.UI

* Delete new backoffiec folder

* Rename client project

* Add new submodule

* Update template csproj

* Remove more mentions of new

* Add missing views

* Moving up the "Umbraco.Web.UI" proj reference, so that it is the first project listed in solution file (.sln) since it will be selected as startup one in VS by default.

* don't include grid

* Update with section of how to get started with backoffice

* Update .github/BUILD.md

Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>

* Add line about white page

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
2024-03-12 10:17:42 +01:00
Kenn JacobsenandGitHub 69a691f315 Removed unused content editing models (#15855) 2024-03-11 13:15:25 +01:00
Bjarne FyrstenborgandGitHub ae541f5636 Webhook paged results (#15802)
* Add controller to fetch paged results of webhooks

* Return OK directly

* Fix total

* Update all languages
2024-03-11 09:56:32 +01:00
Stefan StankovicandMichael Latouche d97cbf486d Show BlockGrid Create Dialog if there are items in clipboard
Default behavior:

If you have only one available module for an area Umbraco will
open a dialog for adding the module. If you have more than one
module you will get a dialog to choose a module and that dialog
will have a Paste option in the top right corner.

New behavior:

If there is a module in the clipboard, Umbraco will open a dialog
with the Paste option even thou there is only one available module
in the area. In other cases, it will work as usual.

Reported issue: https://github.com/umbraco/Umbraco-CMS/issues/15755
2024-03-10 19:55:11 +01:00
Joe DearsleyandMichael Latouche 90864d8e58 Validation messages for blocklists no longer show HTML markup. #15697 2024-03-09 01:23:14 +01:00
Paul SealandBusra Sengul 7813acfa2b Added a check for the runtime mode and showed the relevant error message if 2024-03-08 14:18:50 +03:00
ea31ddea6d Enable member management authorization (#15843)
* Enabled Section authorization on member management endpoints

Changed filter endpoints from tree style auth to section as it returns the same model and be in line with other filter endpoints

* Clean up member filter base inheritance

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: kjac <kja@umbraco.dk>
2024-03-08 10:37:46 +01:00
Elitsa MarinovskaandGitHub 90820483d5 Try to parse string as int and return id.ToString(CultureInfo.InvariantCulture) (#15848) 2024-03-08 08:36:00 +01:00
MoleandGitHub eca13ea011 V14: Add additional validation around manipulating groups (#15834)
* Add additional validation when removing a user from usergroup

* Add additional validation to UpdateUserGroups

* Don't re-implement operation results

* Add additional validation to the update user endpoint

* Complete scopes where it's safe to do so
2024-03-07 13:21:48 +01:00
Nikolaj Geisle b86eeb6b52 bumb version 2024-03-07 09:54:14 +01:00
Nikolaj Geisle bf942d17bf Merge branch 'release/13.2' into v13/dev 2024-03-07 09:53:42 +01:00
3344274616 Xpath Query on Multinode Treepicker no longer working for new Nodes (#15159)
* fix for #14698

* Adjust XPath logic so it uses parentId as $current only when nodeContextId is null or 0

---------

Co-authored-by: Laura Neto <12862535+lauraneto@users.noreply.github.com>
2024-03-06 18:45:20 +01:00
Jacob Overgaard 614c384c47 bump version to beta002 2024-03-06 16:28:07 +00:00
Jacob Overgaard 396ee78a51 Merge branch 'v14/dev' into release/14.0 2024-03-06 15:08:00 +00:00
Jacob Overgaard 6f7c94efdb update backoffice submodule 2024-03-06 15:07:27 +00:00
Bjarke Berg 2cdc6fddc7 Merge branch 'v14/dev' into release/14.0 2024-03-06 14:33:52 +01:00
Nikolaj Geisle 7dff3a3755 bump version 2024-03-06 11:01:37 +01:00
Jacob Overgaard a48e7a7452 update backoffice submodule 2024-03-06 10:26:05 +01:00
9e455f9325 Check for duplicate keys on media if we know it's a fresh entity (#15838)
Co-authored-by: Sven Geusens <sge@umbraco.dk>
2024-03-06 08:21:33 +01:00
da6aa7735a V14: add checkboxlist to list of migrations (#15844)
* add checkboxlist to the list of migrations that should be converted

* Adds string-array type-checking

to the `ValueListUniqueValueValidator`.

As `value?.ToString()` would give you a literal string of the
object-type, e.g. `"System.Collections.Generic.List`1[System.String]"`.

* Clean up and add tests

---------

Co-authored-by: leekelleher <leekelleher@gmail.com>
Co-authored-by: kjac <kja@umbraco.dk>
2024-03-06 06:53:17 +01:00
Elitsa MarinovskaandGitHub 04400054ac V14: Cleanup [ApiController] attribute usage (#15842)
* Applying [ApiController] to ManagementApiControllerBase and the rest derive it from it

* Removing [ApiController] from deriving controllers

* Removing [ApiVersion("1.0")] from controller base

* Cleanup

* [ApiController] from deriving DeliveryApiControllerBase controller
2024-03-05 15:49:40 +01:00
Jacob Overgaard 7710d9d66c update backoffice submodule 2024-03-05 14:18:40 +01:00
Kenn JacobsenandGitHub 3830e40eff Remove legacy media picker from install (#15835)
* Remove legacy media picker from install

* Fix bad auth policy
2024-03-05 13:33:04 +01:00
Erik-Jan WestendorpandBusra Sengul ce769ffff4 Add health checks results to payload 2024-03-05 14:24:34 +03:00
Steve MorganandGitHub 3b4ca0b0f5 Media Picker - upload button disabled bug #13383 (#15115) 2024-03-05 11:13:44 +01:00
Jacob Overgaard cc6aa93ee7 update backoffice submodule 2024-03-04 22:01:09 +01:00
Jacob Overgaard 72cda44db0 correct version name replacing the double dashes with a single dash 2024-03-04 21:59:00 +01:00
Jacob Overgaard 28b5113969 update backoffice submodule 2024-03-04 17:44:41 +01:00
Jacob Overgaard fb2b6d446e update backoffice submodule 2024-03-04 17:40:55 +01:00
Jacob Overgaard 1b85341a6d update backoffice submodule 2024-03-04 17:13:46 +01:00
1fd4fce3a8 Rename policies to original names (#15825)
* Removed the "New" from all policy names now that the legacy backoffice is gone.

* more policy renaming

* more policy renaming

* Uncommenting tests

* Cleanup

* Removing unused policy names

* Renaming AdminUserEditsRequireAdmin to a more meaningful UserPermissionByResource

* Completing TODO and some alphabetical rearranging

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
2024-03-04 15:51:24 +01:00
Jacob Overgaard 4c1cd3008c update backoffice submodule 2024-03-04 14:37:03 +01:00
3c36fd5f06 V14: Data type filter endpoint (#15804)
* Implement endpoints

* Update to orderby and orderdirection

* Implement Filter endpoint

* Remove old ByEditorUiAlias endpoint

* Add clarifying comments

* Fix up according to review

* use model in reflection

* Remove leftover sorting

* remove ordering

* Implement skip and take directly in service

* Dont use GetAllAsync

* Update OpenApi

* Refactor get all to return full list if no keys are given

* Revert "Refactor get all to return full list if no keys are given"

This reverts commit 1dd3167e96.

* Use invariant contains

* A little query optimization

---------

Co-authored-by: kjac <kja@umbraco.dk>
2024-03-04 13:21:40 +01:00
Kenn JacobsenandGitHub ca9a3bbf1b Use same cache level for MNTP no matter the output channel (#15828) 2024-03-04 13:17:38 +01:00
Kenn JacobsenandGitHub 21126b7ba6 Localize validation messages with user lang files (#15820)
* Localize validation messages with user lang files

* Fixed unit tests
2024-03-04 12:50:24 +01:00
Sven Geusens 3c653d11bb Removed smidge injection in viewImports since we no longer include smidge 2024-03-04 10:11:08 +01:00
Kenn JacobsenandGitHub d523541340 Validate culture codes for document variants (#15818)
* Validate culture codes for document variants

* Validate culture with casing in publish and unpublish

* Fix merge
2024-03-04 10:07:01 +01:00
0208522f79 V14: member group controllers fixes (#15817)
* Remove mention of keys outwards

* Get member group by id

* Update openapi.json

* Rename to align

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
2024-03-04 08:06:20 +01:00
Andreas ZerbstandGitHub 86ed066490 Skipped failing tests. (#15821)
The reasons they are being skipped is because we are timing out on the pipeline
2024-03-03 20:36:32 +01:00
Kenn JacobsenandGitHub 55d8954b0c Align parent contexts (#15819)
* Remove explicit parent context in API outputs

* Rename "folder" to "parent" for consistency

* Regenerate OpenApi.json
2024-03-03 15:53:50 +01:00
Elitsa MarinovskaandGitHub f990ea3693 Removing workaround since we now have the content type and list view binding in place (#15816) 2024-03-01 15:10:50 +01:00
Nikolaj GeisleandGitHub 7c33afa3a9 enable start node calculation (#15813) 2024-03-01 14:18:22 +01:00
Jacob Overgaard a9c0e10595 bump to beta001 2024-03-01 14:16:34 +01:00
Elitsa MarinovskaandGitHub 6010565fab V14: Segments configuration (#15812)
* Adding configuration options for segment settings

* Add "useSegments" to the document type configuration endpoint

* Adding additional configuration for creation of non-existing segments
2024-03-01 13:06:03 +01:00
9cb1d66b10 V14: Remove Newtonsoft from packed projects (#15811)
* Migrate ObjectJsonExtensions

* Use more generic exception to not use Newtonsoft

It should matter if it's a JsonReaderException, if we can't read we can't read

* Remove obsoleted constructors

* Use more generic exception in ContentValueSetBuilder

* Fix constructors

* Remove UdiRangeJsonConverter

* Remove more legacy newtonsoft stuff

* Migrate away from newtonsoft in CacheInstructionService

* Remove unused model binders

* Remove more newtonsoft

* Remove newtonsoft from DatabaseServerMessenger

* Remove now irrelevant benchmark

* Remove the usage of Newtonsoft from ImageCropperTemplateCoreExtensions

The value converter will never return JObject, JsonDocument, or JsonNode

* Remove usages of newtonsoft in ComplexPropertyEditorContentNotificationHandler

JTokens are no longer returned, so we don't need to check for it

* Remove newtonsoft references

* Re-add newtonsoft dependency to Umbraco.Tests.Common

* Fix package references

* move dependency

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2024-03-01 12:51:21 +01:00
Jacob Overgaard 72d8b02426 bump version.json 2024-03-01 12:43:57 +01:00
Jacob Overgaard dd1c4fb8b7 Merge branch 'v14/dev' into release/14.0 2024-03-01 12:01:39 +01:00
Jacob Overgaard 2080fd5524 update backoffice submodule 2024-03-01 12:01:05 +01:00
Kenn JacobsenandGitHub d8659ca53e Refactor content updates to shift responsibility downwards (#15807) 2024-03-01 10:45:19 +01:00
Elitsa MarinovskaandGitHub 33c1d4e1fb V14: Return all (even nested) compositions when getting a content type by id (#15800)
* Adding a generic implementation to get all content type compositions, even the nested ones

* Modifying mappers to use the generic implementation
2024-03-01 10:23:40 +01:00
Jacob Overgaard 1bcd45f4df update backoffice submodule 2024-03-01 09:23:45 +01:00
Ethan NaganoandBusra Sengul 0cf436fa5c Add handling of failed publish.
When publishing, if the selected page does not yet have a page created,
handle the FailedPublishNothingToPublish error so that the user is not
presented with an exception. A warning is shown to the user that some
languages failed to publish due to nothing to publish and to check that
a page has been created for selected languages. Additionally fixed a
validation issue where publish would always succeed if all languages
were selected.

Issue: 15352
2024-03-01 10:42:59 +03:00
Bjarke Berg efb72b5b49 Merge remote-tracking branch 'origin/v13/dev' into v14/dev
# Conflicts:
#	src/Umbraco.Cms.StaticAssets/umbraco/UmbracoBackOffice/Default.cshtml
#	src/Umbraco.Core/Security/ContentPermissions.cs
#	src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/pickdynamicrootcustomstep/pickdynamicrootcustomstep.controller.js
#	src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/pickdynamicrootorigin/pickdynamicrootorigin.controller.js
#	src/Umbraco.Web.UI.Client/src/views/common/infiniteeditors/pickdynamicrootquerystep/pickdynamicrootquerystep.controller.js
#	src/Umbraco.Web.UI.Client/src/views/prevalueeditors/treesourcetypepicker.controller.js
#	version.json
2024-03-01 08:17:06 +01:00
MihailichenkoPavelandMichael Latouche 4f9c793d00 fix user login 2024-03-01 02:31:56 +01:00
Jacob Overgaard add6908e3f update backoffice submodule 2024-02-29 17:17:42 +01:00
Kenn JacobsenandGitHub 976bca456e Remove macros (#15794)
* Remove macros!

* Clean up snippets

* Add migration that deletes all macros

* Review comments
2024-02-29 15:11:06 +01:00
Kenn JacobsenandGitHub 47d07bf2d8 ValueListConfiguration should not use ValueListItem (#15796)
* ValueListConfiguration should not use ValueListItem

* Fix test
2024-02-29 15:10:54 +01:00
b8577e3af2 V14: Unpublish multiple cultures (#15789)
* Refactor to accept multiple cultures

* Add test

* Move logic into service

* Remember to complete scope

* Move scope creation.

* Add test

* Close scope on early return

* Handle invalid cultures with bad request

* Handle valid cultures based on content

* Change return type if a culture is required

* Refactor content publishing service to have 1 unpublish method

* Update tests

* Return better error

* Scope completes

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2024-02-29 14:38:47 +01:00
Kenn JacobsenandGitHub 10c18e4162 Swap Newtonsoft.Json dependency for System.Text.Json in BlockEditorPropertyNotificationHandlerBase (#15790)
* Swap Newtonsoft.Json dependency for System.Text.Json in BlockEditorPropertyNotificationHandlerBase

* Review comments
2024-02-29 14:38:32 +01:00
Sebastiaan Janssen eff25b5abe Merge branch 'v13/dev' into contrib 2024-02-29 14:06:35 +01:00
Jacob Overgaard 7d1feb4ad5 update backoffice submodule 2024-02-29 14:05:28 +01:00
Kenn JacobsenandGitHub d7b77b0163 Remove Newtonsoft.Json from ImageCropperPropertyEditor (#15784)
* Remove Newtonsoft.Json from ImageCropperPropertyEditor.cs

* Make the media JSON valid
2024-02-29 13:04:41 +01:00
Kenn JacobsenandGitHub 04849948f1 Fix build errors for user permissions (#15797) 2024-02-29 11:40:47 +01:00
cf9b00bffc Refactor authorizers to be reusable from the core project (#15782)
* Refactored the Authorizers to be reuseable from core by now knowing about principal but only the IUser. Also moved them to core

* Fix multiple enumeration

* Fix more multiple enumerations

---------

Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
2024-02-29 10:41:56 +01:00
393d178b58 User endpoint additions and corrections (#15773)
* Make create user endpoint work with the supplied id

Return 201 instead of 200 with correct resource identifier

* Add ResetPassword endpoint

* Bring changepassword route inline with other resource actions

* Fixed User endpoints not advertising all their possible response codes/ models

Fixed certain endpoints not authorizing targeted user(s) versus the admin needs admin authorization requirement
Fixed a user not found response bug for the update flow
Fix spacing

* Fixed CurrentUser endpoints not advertising all their possible response codes/ models

Fix incorrect responseStatus in UserService.GetPermissionsAsync

* Update OpenApi definition

Fix smal model oversights in previous commits

* Update incorrect Response type

* Check for duplicate id's in user create validation

* Remove unnecasary returnmodel from changepassword

Renamed the model to it's remaining usage

* rename bad constructor parameter

* Renamed method parameters for better readability and usage

* Fixed wrong userkey being passed down because of (refactored) bad naming

Technically doesn't change anything as the two id's should be the same in this case (reset with token is always for self)

* Fixed resetpassword bug

* Update openapi

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

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

* Remove old password from change user password request model

Only makes sense when doing it for the logged in user => current endpoint

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
2024-02-29 10:40:48 +01:00
Nikolaj GeisleandGitHub 1e043cbcfb V14: Member group controller (#15669)
* Add models & mapping

* Add controller

* Add create async to service

* Add auth policy

* Implement delete

* Rename response model

* Implement updateAsync

* Refactor update to use own model

* Implement all async counterparts for IMemberService

* Add tests

* Implement update member group mapping

* Dont fail if updating the current user group

* Return not found if not found

* Add missing OperationResults to MemberGroupOperationStatusResult

* Add 404 to response type

* Update openapi

* Update OpenApi

* Update OpenApi.json
2024-02-29 09:16:27 +01:00
Jacob Overgaard 3d5bb07ab1 update backoffice submodule 2024-02-29 09:15:18 +01:00
Nhu DinhandGitHub 9448854942 V14 QA Updated Dashboard acceptance tests (#15787)
* Added tests for Examine Management tab

* Added tests for Heath Check

* Added tests for Models Builder

* Added tests for Profiling

* Added tests for Published Status

* Bumped version

* Added tests for Welcome Dashboard

* Updated test name

* Bumped version of test helper

* Bumped version of test helpers

* Replace " with '

* Fixed comments

* Bumped version of test helper
2024-02-29 07:26:17 +01:00
Owain JonesandMichael Latouche beb431900a Update Welsh lang file 2024-02-29 01:46:28 +01:00
Andreas ZerbstandGitHub 664473d8eb Skips failing test so the pipeline can run (#15793) 2024-02-28 20:43:27 +01:00
Lee KelleherandGitHub ed8df56ff0 Checks that contentType isn't null before checking for .ListView (#15791)
For a collection use at the Media root, the `contentType` will be
`null`, and not have a `.ListView` configured, so would need to
fallback to the default collection configuration (data-type).

This was a small regression in PR #15687.
https://github.com/umbraco/Umbraco-CMS/pull/15687/files#diff-2ad7a39ca3a7e9fd7c4cbc72a2a28b28bf0d24c12449beff76ff8eb3b0a3ce99L192
2024-02-28 17:15:42 +01:00
fg-gscandGitHub 7a7b8461c5 Added the possibility to select all the cultures at once in the save and save&publish dialogs (#15776) 2024-02-28 15:54:50 +00:00
Jacob Overgaard 5d31a23902 update backoffice submodule 2024-02-28 15:39:16 +01:00
fa007ac257 Output notification handler messages as a header (#15786)
* Output notification handler messages as a header

* Make the notification contract public

* Moved the Notification type and added it to swagger schema

* Update swagger docs

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2024-02-28 15:09:08 +01:00
Kenn JacobsenandGitHub 4b4b003fc6 Add filter option to the "dictionar overview" endpoint (#15777) 2024-02-28 12:41:32 +01:00
3fea1b441c Removes more old backoffice files + Smidge! (#15788)
* Removes lots of files used by the old backoffice and that is not needed for the management api

* A little clean-up

---------

Co-authored-by: kjac <kja@umbraco.dk>
2024-02-28 12:27:54 +01:00
68a101371a Allow operation id selector to work for non-CMS API's (#15771)
* Allow OperationIdSelector to work for non CMS APIs

https://github.com/umbraco/Umbraco-CMS/issues/15716

* Fixed condition to be more readable

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
2024-02-28 12:11:56 +01:00
Nhu DinhandGitHub cc6ebf35fb V14 Added acceptance tests for Dashboard (#15748)
* Added tests for Examine Management tab

* Added tests for Heath Check

* Added tests for Models Builder

* Added tests for Profiling

* Added tests for Published Status

* Bumped version

* Added tests for Welcome Dashboard

* Updated test name

* Bumped version of test helper

* Bumped version of test helpers

* Replace " with '
2024-02-28 08:40:54 +01:00
2494d8c5aa Granular permissions in Management API (#15734)
* It builds..

* Added granular permissions

* Added granular permissions

* Rename content to document

* Added migration

* Fixed issues causing the migration from v13 was not possible.

* Merged Permissions and Granular Permissions in viewmodel

* Prepared the viewmodel to a future where permissions can be more types.

* OpenApi

* Allow to translate a single char to many strings

* Use frontend friendly values for known permissions

* Validate the documents exist

* Allow setting non-document settings

* Add "$type" when required

* Rename to presentation model and update OpenApi.json

* OpenApi.json

* Fix tests

* OpenAPI

* Fixed issues with upgrades

* Add the discriminator name

* Fixed issues that only happended on SqlServer

* Fixed queries for SqlServer

* Clean up

* More cleanup

* Fix issue when migrating sqlserver

* Split fallback permissions into own concept in view model

* Also split on current user

* Added a extenable pattern for mappers between DTO => Granular Permission => ViewModel and ViewModel => Granular Permission

* Fixed issue with new exists method, that did not take duplicate keys into account.

* Added sections to current user response model

* Formatting fixes

* Move class to its own file

* xml comment

---------

Co-authored-by: Zeegaan <skrivdetud@gmail.com>
2024-02-27 21:57:02 +01:00
Kenn JacobsenandGitHub 3c2ae389f4 Remove Newtonsoft.Json from Multi URL picker (#15768) 2024-02-27 17:18:58 +01:00
Bjarke Berg 64bfe88fba Fixes tests after killing of old backoffice 2024-02-27 13:53:45 +01:00
Bjarke Berg 3db8ef029f Merge remote-tracking branch 'origin/v14/dev' into v14/dev 2024-02-27 13:01:07 +01:00
Bjarke Berg 99ce994a3c disable step for now, as it do not make sense before the client code is in the same repo 2024-02-27 13:01:03 +01:00
595ee242aa V14: Remove old backoffice project. (#15752)
* Move magical route to management api

* Move auth around

* Remove "New" cookies, as they are no longer needed

* Move all installer related

* Remove BackOfficeServerVariables.cs and trees

* Move webhooks to management api

* Remove remainting controllers

* Remove last services

* Move preview to management api

* Remove mroe extensions

* Remove tours

* Remove old Auth handlers

* Remove server variables entirely

* Remove old backoffice controller

* Remove controllers namespace entirely

* Move rest of preview

* move last services

* Move language file extension

* Remove old backoffice entirely (Backoffice and Web.UI projects)

* Clean up unused security classes

* Fix up installer route

* Remove obsolete tests

* Fix up DI in integration test

* Add missing property mapping

* Move core mapping into core

* Add composers to integration test

* remove identity

* Fix up DI

* Outcomment failing test :)

* Fix up remaining test

* Update mapper

* Remove the actual project files

* Remove backoffice cs proj

* Remove old backoffice from yml

* Run belissima before login

* Remove caching

* Refactor file paths

* Remove belle from static assets

* Dont refer to old project in templates

* update gitignore

* Add missing files

* Remove install view as its no longer used

* Fix up failing test

* Remove outcommented code

* Update submodule to latest

* fix build

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2024-02-27 12:40:30 +01:00
Elitsa MarinovskaandGitHub 593f1eea6c V14: Align cultures & segments casing (#15745)
* Removing to ToLowerInvariant from culture and segments

* Adding ToLowerInvariant for DeliveryAPIIndex to not modify the stored data

* Fix failing test - remove ToLowerInvariant
2024-02-27 09:56:57 +01:00
Jacob Overgaard 9a274084d6 update backoffice submodule 2024-02-27 09:51:34 +01:00
Kenn JacobsenandGitHub 48d371a9d5 Finalized the data type config migration (#15766) 2024-02-27 09:33:29 +01:00
Jacob Overgaard 9d7aea6da0 update backoffice submodule 2024-02-27 08:45:07 +01:00
Kenn JacobsenandGitHub 4443f8b88a Validate collisions in domain assignments (#15759)
* Validate collisions in domain assignments

* Update OpenApi.json
2024-02-26 15:52:02 +01:00
b320cf1b22 V14: Remove legacy manifest parser (#15744)
* Remove legacy manifest parser

* Remove unused usings

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2024-02-26 15:43:48 +01:00
Nikolaj GeisleandGitHub 01a7643164 Add webhooks to openapi schema (#15772) 2024-02-26 15:39:53 +01:00
Kenn JacobsenandGitHub 3f1635d742 Validate data type configuration values (#15757) 2024-02-26 15:25:41 +01:00
f47830b165 V14: Webhook Management API (#15147)
* Add webhook to management api

* Update webhook controllers

* Add ByKey webhook controller

* Fix typo

* Fix typo

* Update multiple webhooks

* Update using

* Remove duplicate constant after merge

* Fix typo in file name

* Update casing of IWebhookService

* Fix typo

* Use Webhook entity type

* Fix ambiguous reference

* Update webhook mapping

* Update after change of CreatedAtAction

* Use CreatedAtId instead

* Update src/Umbraco.Cms.Api.Management/Controllers/Webhook/ByKeyWebhookController.cs

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

* Update src/Umbraco.Cms.Api.Management/Controllers/Webhook/ByKeyWebhookController.cs

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

* Update src/Umbraco.Cms.Api.Management/ViewModels/Webhook/CreateWebhookRequestModel.cs

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

* Update src/Umbraco.Cms.Api.Management/Controllers/Webhook/DeleteWebhookController.cs

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

* Update src/Umbraco.Cms.Api.Management/Controllers/Webhook/CreateWebhookController.cs

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

* Add Guid to WebhookResponseModel

* Cleanup

* Add Auth

* Move webhook logic from backoffice to management api

* Add mapping

---------

Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2024-02-26 14:35:35 +01:00
Jacob Overgaard 0f6705795a update backoffice submodule 2024-02-26 13:36:19 +01:00
Jacob Overgaard fbfb3ad1f7 update backoffice submodule 2024-02-26 13:18:05 +01:00
Kenn JacobsenandGitHub e3d890ce47 Regenerate OpenApi.json to match current server schema (#15763) 2024-02-26 13:05:59 +01:00
Jacob Overgaard bc5d140640 generate api models before building 2024-02-26 11:23:13 +01:00
Jacob Overgaard 7ffa68e822 update backoffice submodule 2024-02-26 11:20:51 +01:00
Jacob Overgaard 405a494938 update backoffice submodule 2024-02-26 11:09:44 +01:00
Jacob OvergaardandSebastiaan Janssen f17f5522c0 revert changes in Default.cshtml regarding external login providers, as there are still parts of the backoffice using the AngularJS variables 2024-02-26 10:44:25 +01:00
Bjarke Berg 6016ecb9cf Updated openapi and added response type to temp file config 2024-02-26 10:33:59 +01:00
Kenn JacobsenandGitHub afa7c5789b Fix datatype configs for new installs (#15756) 2024-02-26 10:23:33 +01:00
203b003e41 V14 Added missing tests and fixed failed tests for Partial View (#15635)
* Added beforeEach() and remove .skip for the passed tests

* Fixed failed tests and add the tests to cover query builder

* Bumped version of test helper

* Updated api tests for Partial View as the endpoints are changed

* Fixed failed tests and remove .skip tests

* Updated test helper version and api tests for Partial View as the name of method changes

* Changed createButton() to createThreeDotsButton()

* Bumped version

* Bumped version of test helper

* Fixed comments

* Added more waits

* Splited tests out

* Changed verification method

* Added debug

* Removed console.log() and increased wait time

* Changed expect from toEqual to toBeTruthy

* Changed to use "" instead of ''

* more changes

* Updated the expectedPartialViewContent

* Changes

* Removed

* Fixed test

* Update PartialView.spec.ts

* Removed .skip

* Added code to detect os platform

* Updated expectedPartialViewContent varibale

* Added waits

* Bumped version of test helper

---------

Co-authored-by: Andreas Zerbst <andr317c@live.dk>
Co-authored-by: Andreas Zerbst <73799582+andr317c@users.noreply.github.com>
2024-02-23 12:41:35 +01:00
Kenn JacobsenandGitHub 7b80d59c36 Align tree item namespaces (#15754) 2024-02-23 11:27:48 +01:00
00dade48f6 Document and Media restore endpoints (#15681)
* Added Endpoint to get Document restore information

* Add media version of original paent recycle bin

update document permission
regisered interfaces

* Added restore endpoints

* PR feedback and other cleanup

* Update orignal root parent logic & shrank return model

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2024-02-22 17:37:27 +01:00
Jacob Overgaard 8027873438 update backoffice submodule 2024-02-22 17:03:41 +01:00
Kenn JacobsenandGitHub 918457d9f8 Output "operationStatus" for error scenarios whenever possible (#15703) 2024-02-22 15:17:06 +01:00
1bb4fdf43a Do not allow ignoring user start nodes for system data types (#15739)
* Do not allow ignoring start nodes for system data types

* Update OpenApi.json

* Update src/Umbraco.Cms.Api.Management/Mapping/DataType/DataTypeViewModelMapDefinition.cs

Co-authored-by: Sven Geusens <geusens@gmail.com>

* Regenerate OpenApi.json

---------

Co-authored-by: Sven Geusens <geusens@gmail.com>
2024-02-22 15:16:31 +01:00
Jacob Overgaard 641c160e60 update backoffice submodule 2024-02-22 15:13:36 +01:00
Sven Geusens 99f841b7ae Bump rc version 2024-02-22 14:44:01 +01:00
Kenn JacobsenandGitHub ac01abd55f Clean up leftovers from old dictionary pagination (#15747) 2024-02-22 13:03:25 +01:00
Jacob Overgaard 4ca2c814f5 down version to 007 2024-02-22 12:55:46 +01:00
Kenn JacobsenandGitHub 00d1ebe3de Remove the default value constraint on "isContainer" before deleting the column (#15751)
* Remove the default value constraint on "isContainer" before deleting the column

* Swap migrations to avoid targeting missing column
2024-02-22 12:47:07 +01:00
Jacob OvergaardandGitHub da41373f85 V14: Run SQL Server Integration/Acceptance tests manually (#15750)
* temp fix until we stop getting timeouts: sql server tests should only be run manually

* simplify condition
2024-02-22 12:22:28 +01:00
Jacob Overgaard e0e1688e6a update backoffice submodule 2024-02-22 11:41:39 +01:00
MoleandGitHub 7735552877 V14: Migrate Newtonsoft to System.Text in value converters (#15728)
* Force system text json for IJSonSerializer

* Migrate ColorPickerValueConverter

* Move ColorPickerValueConverter

* Clean up ColorPickerValueConverter

* Remove obsoleted property editors

* Migrate FlexibleDropdownPropertyValueConverter to System.Text.Json

* Use IJsonSerializer instead and move the value converter to Core

* Migrate ImageCropperValueConverter to System.Text.Json

* Inject jsonserializer in test and obsolete old constructor

* Migrate JsonValueConverter to System.Text.Json

* Remove ContextualConfigurationEditorJsonSerializer

* Remove JsonNetSerializer

* Remove obsolete DeserializeSubset from JsonSerializer interface

* Fix FlexibleDropdownPropertyValueConverter

* Update test JSON to be actual valid json

* Update more test json

* Update time format to be valid

* Add JsonPropertyName to models
2024-02-22 11:22:57 +01:00
Jacob Overgaard 58bc868374 update backoffice submodule 2024-02-22 10:47:44 +01:00
Jacob Overgaard 9c7949d46f add test to ensure the json converter do not mess with the extensions list 2024-02-22 10:47:43 +01:00
Sebastiaan Janssen 3e1abd1404 Merge branch 'v13/dev' into contrib 2024-02-22 10:34:56 +01:00
Kenn JacobsenandGitHub 1a8797e694 Migrate data type configurations from V7.0+ (#15733)
* Migrate data type configurations from V7.0+

* Update listview defaults to match the install ones
2024-02-22 10:31:48 +01:00
Zeegaan b744f58b58 Order migrations correctly 2024-02-22 10:17:19 +01:00
Nikolaj GeisleandGitHub 4eb1ea6205 V14: List view reference in ContentType (#15687)
* Replace all IsContainer mentions with new ListView property

* Map the list view when creating and updating

* Implement list view migration

* Refactor listview to collection

* Do not assign listview if IsContainer is false

* Fix up HasContainerInPath query

* Update OpenApi.json

* fix up according to review

* Refactor duplicate code to use extension method instead

* Dont make new guid, check for null

* Make extension internal

* Fix up after merge

* Use ReferenceById static method instead of extension
2024-02-22 09:11:31 +01:00
Christian VåganandJason Elkin a7cacc9bb3 Add CultureInfo.InvariantCulture argument to nodeId.ToString() in CheckPermissionsPath() call 2024-02-21 22:29:11 +00:00
Jeavon LeopoldandJason Elkin 5978412b23 Add custom Examine FileSystemDirectoryFactory
So that the Umbraco SiteName property is used when generating the temp folder name hash
2024-02-21 22:14:06 +00:00
Jacob Overgaard ce24845907 allow release tags to reference public releases 2024-02-21 15:57:24 +01:00
Sven Geusens 793b0e591f Merge branch 'v14/dev' of https://github.com/umbraco/Umbraco-CMS into v14/dev 2024-02-21 15:02:55 +01:00
Sven Geusens 1b95679c89 Fix v14 tests 2024-02-21 15:02:48 +01:00
Jacob Overgaard 32117dbfd7 Merge branch 'v14/dev' of https://github.com/umbraco/Umbraco-CMS into v14/dev 2024-02-21 14:46:08 +01:00
Jacob Overgaard aab4acce8d bump to preview008 2024-02-21 14:45:46 +01:00
Sven Geusens 380d3eab6d Merge branch 'v14/dev' of https://github.com/umbraco/Umbraco-CMS into v14/dev 2024-02-21 14:41:21 +01:00
Sven Geusens ed7b4ce44f Merge branch 'v13/dev' into v14/dev
# Conflicts:
#	Directory.Packages.props
#	src/Umbraco.Core/DependencyInjection/UmbracoBuilder.cs
#	src/Umbraco.Core/Models/Mapping/ContentPropertyDisplayMapper.cs
#	src/Umbraco.Core/Services/DataTypeService.cs
#	src/Umbraco.Infrastructure/PropertyEditors/BlockEditorPropertyValueEditor.cs
#	src/Umbraco.Infrastructure/PropertyEditors/BlockValuePropertyValueEditorBase.cs
#	src/Umbraco.Infrastructure/PropertyEditors/ImageCropperPropertyValueEditor.cs
#	src/Umbraco.Infrastructure/PropertyEditors/MediaPicker3PropertyEditor.cs
#	src/Umbraco.Infrastructure/PropertyEditors/NestedContentPropertyEditor.cs
#	src/Umbraco.Infrastructure/PropertyEditors/RichTextPropertyEditor.cs
2024-02-21 14:39:41 +01:00
Jacob Overgaard f2ee2d6c60 update backoffice submodule 2024-02-21 14:39:11 +01:00
Elitsa MarinovskaandGitHub 76e1db87a7 V14: Align routes (#15732)
* Fixing route for temp file

* Adding missing ApiController attribute

* Adding new filter view port

* Creating base classes for member and user filters

* Moving actual filter controllers to correct places

* Update OpenApi.json
2024-02-21 12:29:22 +01:00
Kenn JacobsenandGitHub d9aed7f9a7 Ensure that data types required by the core cannot be deleted. (#15738)
* Ensure that data types required by the core cannot be deleted.

* Update OpenApi.json
2024-02-21 10:22:22 +01:00
Jacob Overgaard c12b88801a update backoffice submodule 2024-02-21 09:13:14 +01:00
608f2e3c76 Scheduled publishing in Management API (#15680)
* Only use datetimeoffset in API

* Updated publish endpoint to take schedule information

* Fixed test builds

* OpenApi updates

* Update OpenApi schema

* Fixed issues with publishing.

* Added validation before publishing. Had to move a lot of classes to core.

* added missing files

* Added validation info to error

* Typo

* Clean up and adding missing result

* Updating to AvailableCultures instead of PublishedCultures

* Handle time needs to be in the future

* validate only cultures that needs to be published

* Fix typos

* Filter out cultures that we are not trying to publish from the validation errors

* Don't filter out only the available cultures, to accommodate non-created variants

* Only allow publish of existing cultures

* Fixed issues found in test

* fixed build

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
2024-02-21 09:10:48 +01:00
129adf2699 Fix excessive datatype load times in propertyValueEditors and backoffice mapping (#15731)
* Introduced IDataTypeConfigurationCache
* Applied IDataTypeConfigurationCache to Property Editors and display mapping
* Invalidate new cache trough DataTypeConfigurationCacheRefresher
* Improve IDatatype service to use cached int path when fetching by guid (using idkeymap)
---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Ronald Barendse <ronald@barend.se>
2024-02-21 09:05:44 +01:00
Elitsa MarinovskaandGitHub 5b1fab1165 V14: Member collection view/filter endpoint (#15727)
* Adding missing members policy

* Adding a member filter endpoint

* Adding response types to user filter endpoint

* Adding create multiple to factory

* Updating OpenApi.json
2024-02-18 16:06:41 +01:00
Jacob Overgaard 638446bd43 update backoffice submodule 2024-02-16 15:10:32 +01:00
b2a9521184 Member response model must not have a name property (#15695)
* Member response model must not have a name (its name is in the variants collection)

* update import map

---------

Co-authored-by: Mads Rasmussen <madsr@hey.com>
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
2024-02-16 14:05:21 +01:00
Sven Geusens 95c0c0adad Merge branch 'v13/dev' into v14/dev
# Conflicts:
#	src/Umbraco.Cms.StaticAssets/umbraco/UmbracoBackOffice/Default.cshtml
#	src/Umbraco.Cms.StaticAssets/umbraco/UmbracoLogin/Index.cshtml
#	src/Umbraco.Core/Services/DataTypeService.cs
2024-02-16 11:19:15 +01:00
Jacob Overgaard 3c9976d734 update backoffice submodule 2024-02-15 15:38:47 +01:00
d0145ed7e9 V14: generate dynamic importmap (#15710)
* register a new IPackageManifestReader to allow to scan the /umbraco/backoffice path for umbraco packages

* add constant

* add logic to extract the importmap from umbraco package manifests

* add html helper to render an importmap

* replace static importmap with new dynamic importmap

* update tests and be more specific about scopes

* remove recursion from PackageManifestReader.cs

* add extra test to validate the importmap

* combine all string manipulation to produce an importmap into HtmlHelperBackOfficeExtensions.cs

* rename IStaticFileHostGenerator to something reflecting its actual usage, and also fix the file names

* use auto properties where applicable

* add getter for BackOfficeHash and use to simplify BackofficeAssetsPath

* ensure BackOffice is always spelled with capital O

* add a way to replace the cachebuster for assets imported through an importmap and ensure magic strings are encapsulated into business logic or constants

* Review changes

* convert primary constructors to explicit and add comments

* convert primary constructor to explicit

---------

Co-authored-by: kjac <kja@umbraco.dk>
2024-02-15 15:23:01 +01:00
Kenn JacobsenandGitHub cc082e191c Clean up datatype configurations for V14 (#15718)
* Clean up datatype configurations for V14

* Fix merge

* Remove ParameterEditorCollection + revert accidental changes to core project file
2024-02-15 12:36:23 +01:00
ec1ba6031f V14: Document and media collection view endpoints (#15696)
* Fix authz status

* Adding another silo for list views

* Adding base classes and handling collection operation statuses

* Change signature to reuse functionality. Fix references

* Adding collection response models

* Adding content and media type collection response models

* Adding mapping

* Adding mapping for document and media types

* Adding list view page model

* Initial implementation

* Moving implementation to service base

* Adding content and media service interfaces for handling list views

* Registering and implementation

* Update controllers to use new services

* Renaming param

* Refactor to pass content type instead of content type key

* Handle the case where only data type is provided

* Add missing operation status

* Update OpenApi.json

* Added comment for a temp workaround

* Removing orderCulture from media interface as it is not yet supported

* Adding a base class for content type collection reference model

* Adding common collection controller base and moving the ContentCollectionOperationStatusResult to there

* Cleaning up controllers after implementing the base class

* Cleaning up concrete controller bases

* OpenApi.json updates

* Changing GetPagedChildren to return a paged model

* Fix ordering

* Adding ,

* Fix wording

* Append operation status to unsuccessful API responses

* A little bit of clean-up

* Update default orderBy value

* Update the default value of orderBy

* Adding missing owner and updater system fields

* Updating OpenApi.json with owner and updater props

* Create base and rename owner to creator

* Update OpenApi.json

* Reordering of properties

* "Owner" will be "creator"

* Fix comment

---------

Co-authored-by: kjac <kja@umbraco.dk>
2024-02-14 15:13:56 +01:00
Jacob Overgaard 72e2b20b32 bump to preview007 2024-02-14 14:28:41 +01:00
Andreas ZerbstandGitHub f98599a431 Changed locator (#15714) 2024-02-14 14:08:42 +01:00
Jacob OvergaardandGitHub 12355219d4 V13: The login screen does not display external login errors (#15715)
* show external login errors as a subheadline on the login screen
* fix: migrate error handling from v12 for external login
* cleanup unused client-side javascript
2024-02-14 13:24:10 +01:00
Jacob Overgaard b8d6c3e4fa update backoffice submodule 2024-02-14 13:10:06 +01:00
Bjarne FyrstenborgandGitHub 8145a90094 Content type picker in dynamic root pickers (#15514) 2024-02-14 12:34:18 +01:00
2dcdff5392 V14: Migrate nucache to use System.Text.Json (#15685)
* Create system text serializer

* Assign property names with system text

* Use the new serializer

* Impement AutoInterningStringConverter with System.Text.Json

* Implement TextAutoInterningStringKeyCaseInsensitiveDictionaryConverter

* Make CaseInsensitiveDictionaryConverter

* Force datetimes to be read as UTC

* Remove usages of Newtonsoft.Json

* Remove text prefixes

* Remove unused Newtonsoft converter

* Remove more newtonsoft

* Remove duplicate implementation

* Rmove usage of missing class in tests

* Ignore null values

* Fix tests

* Remove Newtonstoft reference from NuCache

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
2024-02-14 12:10:45 +01:00
Jacob OvergaardandGitHub 3d7e79c3e5 V13: Update Login UI to Lit 3 and update the UI Library to 1.7.1 (#15713)
* update dependencies to latest (lit 3, vite 5) and fix related issues

* update ui library to 1.7.1

* mark all backoffice svg icons with fill="currentColor"

* set label on user.html
2024-02-14 07:38:17 +01:00
Kenn JacobsenandGitHub 4f04669dce Enable reuse of BackOfficeSecurityRequirementsOperationFilter for custom APIs (#15699) 2024-02-13 15:08:42 +01:00
Sebastiaan Janssen 43e373d352 Merge branch 'v13/dev' into contrib
# Conflicts:
#	src/Umbraco.Core/EmbeddedResources/Lang/en_us.xml
#	src/Umbraco.Web.BackOffice/Mapping/WebhookMapDefinition.cs
2024-02-13 14:05:46 +01:00
Bjarne FyrstenborgandGitHub f78c5675ea Use <umb-node-preview> component in dynamic root nodes (#15510) 2024-02-13 13:41:25 +01:00
Andreas ZerbstandGitHub 690bfe3e68 V14 QA fix failing dictionary acceptance tests. (#15709)
* Updated test to work. And skips tests unable to work until frontend is ready

* Decreased time for tests

* Update playwright.config.ts

Decreased to 40 seconds
2024-02-13 13:28:28 +01:00
Jan SkovgaardandGitHub 3553e7546a Bugfix: #14742 - Tabs not coded according to best practice (#14979) 2024-02-13 12:59:29 +01:00
Jacob Overgaard 7577433cd5 update backoffice submodule 2024-02-13 12:18:09 +01:00
Andreas ZerbstandGitHub f92c23438e Decreased retry of test from 5 to 3. (#15705) 2024-02-13 09:04:50 +01:00
Anna GevelandMichael Latouche 37d96db979 Fixed StackOverflow exception when using NoopPropertyIndexValueFactory
Removed recursive call from the GetIndexValues method of NoopPropertyIndexValueFactory for backward compatibility and alignment with other property index value factory classes
2024-02-13 02:03:28 +01:00
Ethan NaganoandGitHub 9ed2e48ff4 15209 media picker shows incorrect date (#15414)
* Trim update date to exclude Z character.

When picking media, the items from an SQL database contain an update
date that is formated in UTC-0 time by way of a Z character at the end
of the string. Removing this string will result in the update date
always displaying local time as expected.

Issue: 15209

* Use dateHelper instead of slicing Z from date string.

For most front end date formatting, dateHelper is used to get the local
date. The dateHelper is now passed in to the media picker controller and
used to format the date.
2024-02-12 23:41:20 +01:00
Jacob Overgaard c27532fe72 update backoffice submodule 2024-02-12 15:33:50 +01:00
d057626f29 V14 Added acceptance tests for DataTypes (#15679)
* 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

* Fixed comments

* Bumped version of test helper

* Updated the version to 10 instead of 11

* Updated the package-lock.json file to contain the correct versions

* Added a waitForTimeout
The reason for this is that this test is failing on the pipeline

* V14 Added acceptance test for basic functions of Data Type, Approved Color and Label (#15551)

* Updated api tests for DataType

* Added ui tests for basic functions of DataType

* Added ui tests for Approved color

* Added ui tests for Label

* Fixed comments

* V14 Added acceptance tests for Date Picker (#15561)

* Updated api tests for DataType

* Added ui tests for basic functions of DataType

* Added ui tests for Approved color

* Added ui tests for Label

* Added ui tests for Date Picker

* Removed blank line

Co-authored-by: Andreas Zerbst <73799582+andr317c@users.noreply.github.com>

---------

Co-authored-by: Andreas Zerbst <73799582+andr317c@users.noreply.github.com>

* V14 Added acceptance test for List View (#15575)

* Updated api tests for DataType

* Added ui tests for basic functions of DataType

* Added ui tests for Approved color

* Added ui tests for Label

* Added ui tests for Date Picker

* Fix merged

* Updated DatePicker and Label tests to apply best practices

* Added ui tests for ListView

* V14 Added acceptance tests for Image Cropper, Numeric and Radiobox (#15599)

* Added ui tests for ImageCropper

* Added ui tests for Numeric

* Added ui tests for Radiobox

* Updated tests for Approved Color to change the way to arrange test data

* Change "" to '' and updated before/after methods

* V14 Added acceptance test for Textarea, Textstring, Upload (#15606)

* Added ui tests for Textarea

* Added ui tests for Textstring

* Added ui tests for Upload Article, Upload Audio, Upload File, Upload Vector Graphics, Upload Video

* Fixed failing tests due to api changes

* Changed propertyEditorAlias to editorAlias due to api changes

* Removed the step to check notification displays and changed string variables to numeric variables due to api changes

* Updated the skip tests

* Added skip tests and update method name due to test helper changes

* Splited tests out

* Bumped version

* Changed '' to '

---------

Co-authored-by: Andreas Zerbst <andr317c@live.dk>
Co-authored-by: Andreas Zerbst <73799582+andr317c@users.noreply.github.com>
2024-02-12 13:59:39 +01:00
Jacob Overgaard 629f854bf7 update backoffice submodule 2024-02-12 11:06:10 +01:00
rbottemaandSebastiaan Janssen 14be246802 Fix QR code icon
Strips the width and height from the QR code SVG to ensure display is correct on all sizes. Used https://svgomg.net/ to optimize and minify the SVG.
2024-02-12 10:15:07 +01:00
Lars-ErikandSebastiaan Janssen 3e871f2c33 Add WithIsElement to ContentTypeBuilder 2024-02-12 10:03:02 +01:00
Jeavon LeopoldandSebastiaan Janssen ea7ae74ccb Fix certificate health check so that it validates multiple times
Also switch deprecated request.Properties to request.Options
2024-02-12 09:58:55 +01:00
Jacob Overgaard 6f6405a445 update backoffice submodule 2024-02-12 09:31:39 +01:00
9e5eb2da08 Remove clean xss from datatype name and alias. (#15552)
* Remove clean xss from datatype name and alias.

* Edit / and \ to the exclusions argument

* Forgot to escape the backslash

---------

Co-authored-by: Lucas Bach Bisgaard <lom@novicell.dk>
2024-02-10 01:50:03 +01:00
Jacob Overgaard 21dc62ec22 update backoffice submodule 2024-02-09 15:43:54 +01:00
Jacob Overgaard afff4d7578 update backoffice submodule 2024-02-09 13:55:40 +01:00
Erik-Jan WestendorpandMichael Latouche 7046c3585b Add localization key for 'Cancel and clear query' 2024-02-07 21:19:42 +01:00
Terence BurridgeandGitHub 318d994cf3 Reload the List View after a copy, if to the same parent (#15312) 2024-02-07 18:07:46 +01:00
Jacob Overgaard e1b4d1b982 fix useDotNet task 2024-02-07 14:35:49 +01:00
Jacob Overgaard 10e328afda Merge branch 'release/14.0' into v14/dev 2024-02-07 14:33:19 +01:00
Jacob Overgaard 86bf666faf fix useDotNet job 2024-02-07 14:31:16 +01:00
Jacob Overgaard b67b06bfc3 bump version to 14.0.0--preview006 2024-02-07 13:47:36 +01:00
839b2ff6a2 Fixes #15136: Search includes fields from other cultures (#15148)
* Fixes #15136: Search includes fields from other cultures

Regex was updated to support block list fields
Unpublished nodes on the supplied culture are not filtered out

* Making the code non-breaking

* Fixed failing publish content query integration tests

The tests were not setting the content as publish in the specifed culture
causing the content items to be ignored

---------

Co-authored-by: Laura Neto <12862535+lauraneto@users.noreply.github.com>
2024-02-07 13:43:37 +01:00
Jacob Overgaard da5a95ac22 Merge remote-tracking branch 'origin/v14/dev' into v14/dev 2024-02-07 12:08:03 +01:00
Jacob Overgaard fdb9b68bc0 update backoffice submodule 2024-02-07 12:07:41 +01:00
024bb8903c V14/feature/delete media in recyblebin (#15636)
* Bugfix: MediaCacheRefresher needs to always clear the mediaCache no matter what the publishedState is

* fix: check correct permissions for deleteDocumentFromRecycleBin

* Fix: ImageCropper propertyValues should not hold invalid values.

* Added media delete endpoints

* PR comment fix: Do not schedule cleanup if we know the file does not exist.

* resolved forward merge build conflicts

namespace cleanup

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
2024-02-07 10:44:20 +01:00
Kenn JacobsenandGitHub 9d07268ead Remove template scaffolding from the API (#15659)
* Remove template scaffolding from the API

* Regenerate OpenApi.json

* Regenerate OpenApi.json after forward merging
2024-02-07 09:07:54 +01:00
Jacob Overgaard 79866e0370 update backoffice submodule 2024-02-07 09:01:01 +01:00
Markus JohanssonandMichael Latouche 2221c4f1c7 #15568 fixed by adding IRichTextEditorIntermediateValue 2024-02-07 02:32:14 +01:00
MehmetandGitHub 5d0486fddc Add missing list view usages to data type references (#14485) (#14617)
* Add missing list view usages to data type references (#14485)

* Added default implementation #14617
2024-02-06 14:50:16 +00:00
Bjarke Berg c1aa526999 Merge remote-tracking branch 'origin/v13/dev' into v14/dev 2024-02-06 14:25:12 +01:00
183b5cc454 Management API model mapping take two (#15667)
* Re-modelling API models (take two)

* Do not use "content" - use "document" and "media" instead.

* Move "item" endpoints to their own silo

* Use "Id", not "Key"

* Regenerate OpenApi.json

* Rename user start node IDs from "content" to "document"

* Regererate OpenApi.json after forward merge

* update importmap

---------

Co-authored-by: Mads Rasmussen <madsr@hey.com>
2024-02-06 13:19:30 +01:00
8c6e03d346 V14: Invalidate user tokens (#15651)
* Adding revoke user auth token handler and registering it

* Maintain method clarity by grouping new calls into its own method

* Rename functions to what they do

* Suggested linq function of tripple nesting

* Reduce nesting by early loop continuation

* Fix PR suggestion async typo

* Review suggestions

* Log msg alignment between members and users

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
2024-02-06 13:02:35 +01:00
Bjarke Berg 0e7d5464ae Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2024-02-06 12:56:36 +01:00
Bjarke Berg 073e59c89a Merge remote-tracking branch 'origin/v11/dev' into v12/dev
# Conflicts:
#	src/Umbraco.Infrastructure/Cache/DistributedCacheExtensions.cs
#	src/Umbraco.PublishedCache.NuCache/PublishedSnapshotService.cs
#	tests/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/PublishedCache/PublishedSnapshotServiceCollectionTests.cs
2024-02-06 12:44:23 +01:00
Bjarke Berg 742e12c9c3 Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2024-02-06 12:43:04 +01:00
Bjarke Berg 3a12b6591d Merge remote-tracking branch 'origin/release/13.1' into v13/dev 2024-02-06 11:09:25 +01:00
Bjarke Berg 897af1b013 Merge remote-tracking branch 'origin/release/12.3' into v12/dev 2024-02-06 11:08:16 +01:00
Bjarke Berg b5e46ba880 Merge remote-tracking branch 'origin/release/10.8' into v10/dev 2024-02-06 11:07:16 +01:00
Bjarke Berg cd47bdbb0c Fix breaking change 2024-02-06 10:08:12 +01:00
Nikolaj GeisleandGitHub 1b712fe6ec Merge pull request from GHSA-gvpc-3pj6-4m9w
* Add MarkDownPropertyValueEditor with html sanitizer

* Implement IMarkdownSanitizer.
2024-02-06 09:53:40 +01:00
Nikolaj GeisleandGitHub cbf9f9bcd1 Merge pull request from GHSA-gvpc-3pj6-4m9w
* Add MarkDownPropertyValueEditor with html sanitizer

* Implement IMarkdownSanitizer.
2024-02-06 09:53:40 +01:00
Nikolaj GeisleandGitHub d090176272 Merge pull request from GHSA-gvpc-3pj6-4m9w
* Add MarkDownPropertyValueEditor with html sanitizer

* Implement IMarkdownSanitizer.
2024-02-06 09:53:40 +01:00
Nikolaj GeisleandGitHub 6b8067815c Merge pull request from GHSA-74p6-39f2-23v3
* Don't display exception if not in debug mode

* Only display not OK status code in production
2024-02-06 09:53:17 +01:00
Matthew-WiseandGitHub 3ce438399a Fix UriUtilityCore's handling of anchors and querystrings, also optimized with Span (#15678) 2024-02-05 08:03:42 +01:00
71b3076de9 Members and member types in the Management API (#15662)
* Members and member types in the Management API

* Add validation endpoints for members

* Include validation result in service response + add unit tests

* Regenerate OpenApi.json

* Regenerate OpenApi.json after merge

* Don't throw an exception when trying to set valid variation levels for member types

* Added missing ProducesResponseType

* Remove TODO, as that works

* Allow creation of member with explicit key

* Do not feature "parent" for member creation + add missing response type

* Do not feature a "Folder" in create member type (folders are not supported)

* Added missing build methods

* Fixed issue with mapping

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2024-02-05 06:42:07 +01:00
Andreas ZerbstandGitHub dde2ccfd41 V14 QA fix failing acceptance tests on pipeline (#15652)
* Fixes, not done

* Fixed failing tests

* Fixes

* Updated tests

* Bumped version

* Did small adjustments

* Split tests out

* Skips failing package test

* Added missing semicolon

* Updated variables

* Added afterEach to ensureNameNotExists
2024-02-05 09:54:29 +07:00
Ethan NaganoandMichael Latouche ec26e5eabf Update nouislider options for image cropper.
Previous slider min and max values caused home and end keys to behave
incorrectly. Min is now 0 to reflect 0% zoom and max is now 100 to
reflect max zoom. Additionally, adjusted step to 0.01 to avoid slow
adjustments when using arrow keys or page up / page down keys.

Issue: #15578
2024-02-05 03:33:44 +01:00
Jacob Overgaard 52a9939480 Merge remote-tracking branch 'origin/v13/dev' into v14/dev
# Conflicts:
#	.artifactignore
#	build/azure-pipelines.yml
#	tests/Umbraco.Tests.AcceptanceTest/misc/umbraco-linux.docker
2024-02-02 13:48:28 +01:00
Jacob Overgaard 36402a149a Merge remote-tracking branch 'origin/v13/dev' into contrib
# Conflicts:
#	build/azure-pipelines.yml
2024-02-02 13:43:49 +01:00
Jacob Overgaard 0765a1d809 force node.js version to 20.x 2024-02-02 13:41:30 +01:00
Ronald BarendseandJacob Overgaard 30c1baecd7 Remove Linux only Docker build for E2E tests (#14042)
* Remove Linux only Docker build for E2E tests

* Fix cmsVersion variable

* Remove custom build number step (already done by Nerdbank.GitVersioning)

* Add and use global.json to configure .NET SDK version

* Only publish tests build output

* Only include unit tests and integration build output (without reference assemblies)

* Added "pr: none" to nightly trigger (#15044)

* Only run SQL Server Acceptance Tests on release builds or when parameter is set

* Use SQLite in-memory database and configure database optimizations (#15461)

* Disable content version cleanup and server election

* Reference Umbraco.Tests.AcceptanceTest.UmbracoProject instead of copying files

* Suspend/disable scheduled publishing

* Ensure all Playwright results are copied to the artifact staging directory

* Update E2E SQL Server job and also run on Linux

* Fix building acceptance test project

* Fix building acceptance test project (suing PrivateAssets)

* Explicitly disable building project references in E2E tests and use pre-built output

* Include obj folder of acceptance test project in build artifacts

* Download build artifacts

* Re-add PrivateAssets

* Revert to copying C# files to E2E application

* Disable Integrated Security for SQL Server on Linux

* Update SQL Server on Linux connection string

* Disable encryption on SQL Server for Linux

* Update SQL Server on Linux steps

* Add Database to SQL Server connection string on Linux

* Update Integration Tests and use SQL Server 2022 Docker image

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
(cherry picked from commit 0e1ca76d6e)
2024-02-02 13:40:09 +01:00
Andy ButlandandGitHub b5b9c13bad Allow methods that call GetCropUrl to be verified in unit tests. (#15674) 2024-02-02 13:12:26 +01:00
0e1ca76d6e Remove Linux only Docker build for E2E tests (#14042)
* Remove Linux only Docker build for E2E tests

* Fix cmsVersion variable

* Remove custom build number step (already done by Nerdbank.GitVersioning)

* Add and use global.json to configure .NET SDK version

* Only publish tests build output

* Only include unit tests and integration build output (without reference assemblies)

* Added "pr: none" to nightly trigger (#15044)

* Only run SQL Server Acceptance Tests on release builds or when parameter is set

* Use SQLite in-memory database and configure database optimizations (#15461)

* Disable content version cleanup and server election

* Reference Umbraco.Tests.AcceptanceTest.UmbracoProject instead of copying files

* Suspend/disable scheduled publishing

* Ensure all Playwright results are copied to the artifact staging directory

* Update E2E SQL Server job and also run on Linux

* Fix building acceptance test project

* Fix building acceptance test project (suing PrivateAssets)

* Explicitly disable building project references in E2E tests and use pre-built output

* Include obj folder of acceptance test project in build artifacts

* Download build artifacts

* Re-add PrivateAssets

* Revert to copying C# files to E2E application

* Disable Integrated Security for SQL Server on Linux

* Update SQL Server on Linux connection string

* Disable encryption on SQL Server for Linux

* Update SQL Server on Linux steps

* Add Database to SQL Server connection string on Linux

* Update Integration Tests and use SQL Server 2022 Docker image

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2024-02-02 10:17:40 +01:00
Sven GeusensandBjarke Berg 802758ed59 Fixed nested RTE's index method not being called due to obsolete fallbacks (#15670)
Co-authored-by: Sven Geusens <sge@umbraco.dk>
(cherry picked from commit 1e72b1cf0b)
2024-02-02 08:25:23 +01:00
1e72b1cf0b Fixed nested RTE's index method not being called due to obsolete fallbacks (#15670)
Co-authored-by: Sven Geusens <sge@umbraco.dk>
2024-02-02 08:22:51 +01:00
2193ded62d V14 Added acceptance tests for Relation Types (#15653)
* 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

* Added api tests for RelationType

* Added ui tests for Relation Type

* Bumped test helper version

* Added api tests for Relation Types

* Updated ui tests for Relation types

* Updated method due to the test helper changes

* Bumped version

* Fixed merged

* Update tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Relation Types/RelationTypes.spec.ts

Added ;

Co-authored-by: Andreas Zerbst <73799582+andr317c@users.noreply.github.com>

* Update tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Relation Types/RelationTypes.spec.ts

Updated name of method

Co-authored-by: Andreas Zerbst <73799582+andr317c@users.noreply.github.com>

* Update tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Relation Types/RelationTypes.spec.ts

Updated name of method

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>
2024-02-01 19:46:49 +01:00
Jacob Overgaard 2f702b28ff update backoffice submodule 2024-02-01 16:13:42 +01:00
Jacob Overgaard 1f636583c3 Merge remote-tracking branch 'origin/v13/dev' into v14/dev 2024-02-01 15:58:33 +01:00
Jacob Overgaard 5c33c6fbf6 Login assets should be built independently of the Backoffice (#15668)
* picked from v14/dev to distinguish between Belle and Login so the correct assets are being built when you run Umbraco.Web.UI

* syntax
2024-02-01 15:52:41 +01:00
Jacob OvergaardandGitHub 836d45e5c5 Login assets should be built independently of the Backoffice (#15668)
* picked from v14/dev to distinguish between Belle and Login so the correct assets are being built when you run Umbraco.Web.UI

* syntax
2024-02-01 14:36:37 +00:00
Jacob OvergaardandGitHub 0a6dd9538a add retry count for flaky test (#15632)
* add retry count for flaky test

* add retry to try and have test pass
2024-02-01 14:28:47 +01:00
Sebastiaan Janssen c18ec80e34 Merge branch 'v13/dev' into contrib 2024-02-01 12:45:39 +01:00
Bjarke Berg 3a71eab1ce Merge remote-tracking branch 'origin/v14/dev' into v14/dev 2024-02-01 12:17:50 +01:00
d29e05efb7 Move document related operations to DocumentControllerBase (#15661)
* Clean up ContentControllerBase and move document related operations to DocumentControllerBase

* Rename content to document

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
2024-02-01 11:29:52 +01:00
Bjarke Berg 9eb36c0234 Merge remote-tracking branch 'origin/v13/dev' into v14/dev
# Conflicts:
#	Directory.Packages.props
#	src/Umbraco.Infrastructure/Migrations/Upgrade/V_10_0_0/AddMemberPropertiesAsColumns.cs
#	src/Umbraco.Infrastructure/Migrations/Upgrade/V_10_2_0/AddHasAccessToAllLanguagesColumn.cs
#	src/Umbraco.Infrastructure/Migrations/Upgrade/V_10_2_0/AddUserGroup2LanguageTable.cs
#	src/Umbraco.Infrastructure/Migrations/Upgrade/V_10_3_0/AddBlockGridPartialViews.cs
#	src/Umbraco.Infrastructure/Migrations/Upgrade/V_10_4_0/AddBlockGridPartialViews.cs
#	src/Umbraco.Infrastructure/Migrations/Upgrade/V_10_5_0/AddPrimaryKeyConstrainToContentVersionCleanupDtos.cs
#	src/Umbraco.Infrastructure/Migrations/Upgrade/V_10_7_0/MigrateTagsFromNVarcharToNText.cs
#	src/Umbraco.Infrastructure/Migrations/Upgrade/V_11_3_0/AddDomainSortOrder.cs
#	src/Umbraco.Infrastructure/Migrations/Upgrade/V_11_4_0/AlterKeyValueDataType.cs
#	src/Umbraco.Infrastructure/Migrations/Upgrade/V_12_0_0/ResetCache.cs
#	src/Umbraco.Infrastructure/Migrations/Upgrade/V_12_0_0/UseNvarcharInsteadOfNText.cs
#	src/Umbraco.Infrastructure/Migrations/Upgrade/V_12_1_0/AddOpenIddict.cs
#	src/Umbraco.Infrastructure/Migrations/Upgrade/V_12_1_0/TablesIndexesImprovement.cs
#	src/Umbraco.Web.UI.Docs/README.md
#	src/Umbraco.Web.UI.Docs/gulpfile.js
2024-02-01 11:24:43 +01:00
Kenn JacobsenandGitHub 296b7e061a Align presentation model factory naming (#15663) 2024-02-01 11:22:16 +01:00
Bjarke Berg 13299a2c73 Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2024-02-01 11:19:12 +01:00
Bjarke Berg 49acf8b35c Merge remote-tracking branch 'origin/release/13.1' into v13/dev
# Conflicts:
#	version.json
2024-02-01 11:18:58 +01:00
Bjarke Berg 23ee6fa83f Merge remote-tracking branch 'origin/release/12.3' into v12/dev
# Conflicts:
#	version.json
2024-02-01 11:11:58 +01:00
Bjarke Berg adb67c709b Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2024-02-01 11:11:10 +01:00
Bjarke Berg 2735f17ed8 Merge remote-tracking branch 'origin/release/10.8' into v10/dev
# Conflicts:
#	version.json
2024-02-01 11:09:47 +01:00
Ronald BarendseandBjarke Berg 25139dabe0 Skip cache refresher operations for content blueprints (#15633)
* Skip cache refresher operations for content blueprints

* Fix JsonPayload deserialization error by adding a default constructor and property initializers

* Obsolete JsonPayload constructor and update usages
2024-02-01 10:29:31 +01:00
Bjarke Berg e7c53d4768 V10+ version of https://github.com/umbraco/Umbraco-CMS/pull/15638 (#15664) 2024-02-01 10:29:28 +01:00
Ronald BarendseandBjarke Berg 4aed6a1034 Skip cache refresher operations for content blueprints (#15633)
* Skip cache refresher operations for content blueprints

* Fix JsonPayload deserialization error by adding a default constructor and property initializers

* Obsolete JsonPayload constructor and update usages
2024-02-01 10:13:00 +01:00
Bjarke Berg ac02e97e0c V10+ version of https://github.com/umbraco/Umbraco-CMS/pull/15638 (#15664) 2024-02-01 10:01:52 +01:00
Ronald BarendseandBjarke Berg e37cf30690 Skip cache refresher operations for content blueprints (#15633)
* Skip cache refresher operations for content blueprints

* Fix JsonPayload deserialization error by adding a default constructor and property initializers

* Obsolete JsonPayload constructor and update usages

(cherry picked from commit 3e28e10cdf)
2024-02-01 10:00:42 +01:00
Bjarke BergandGitHub 118ac8e230 V10+ version of https://github.com/umbraco/Umbraco-CMS/pull/15638 (#15664) 2024-02-01 09:58:42 +01:00
Ronald BarendseandGitHub 3e28e10cdf Skip cache refresher operations for content blueprints (#15633)
* Skip cache refresher operations for content blueprints

* Fix JsonPayload deserialization error by adding a default constructor and property initializers

* Obsolete JsonPayload constructor and update usages
2024-02-01 09:55:09 +01:00
Elitsa MarinovskaandGitHub a562198520 Rename items to item to be consistent (#15660) 2024-02-01 09:23:10 +01:00
74db02c444 V14: Don't add published culture infos if not published (#15370)
* Don't add published infos if not published

* Unpublish all cultures as a whole

* Added tests

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2024-02-01 08:33:14 +01:00
Kenn JacobsenandGitHub d631ef1802 Move the ContentControllerBase to the correct location (#15656) 2024-01-31 16:22:15 +01:00
Bjarke Berg 94b8c11f0f Do not dispose EF Core contexts manually (#15649)
* Attempt to fix #15090. Save connection string in private variable after setup.

* Do not dispose ef core contexts when if the connectionstring changes.

A Ef core context is protected from creations when no connection string is present. If it changes that single instance will continue with the connection string it was initialized with.

* Clean up

* Review Equals methods

(cherry picked from commit 5146f05625)
2024-01-31 15:09:32 +01:00
Bjarke BergandGitHub 5146f05625 Do not dispose EF Core contexts manually (#15649)
* Attempt to fix #15090. Save connection string in private variable after setup.

* Do not dispose ef core contexts when if the connectionstring changes.

A Ef core context is protected from creations when no connection string is present. If it changes that single instance will continue with the connection string it was initialized with.

* Clean up

* Review Equals methods
2024-01-31 15:09:12 +01:00
0dd2beb484 V14: Update DataTypeControllerBase to use GetAllAsync() (#15641)
* Update to use GetAllAsync()

* Obsolete GetAll

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
2024-01-31 15:00:47 +01:00
MoleandGitHub 008083f096 V14: Migration Cleanup (#15629)
* Remove obsoleted migrations

* Re-add default log queries

* Remove unused PreValueMigratorCollectionBuilder from DI

* Remove unused unit test

* Obsolete unused migrations

* Remove migrations prior to v13 from UmbracoPlan

* Fix whitespace

* Use array instead of IEnumerable

* Remove unused migrations
2024-01-31 12:45:56 +01:00
MoleandGitHub 7379a752f1 Obsolete old migrations (#15650) 2024-01-31 12:10:07 +01:00
AleksanderandBjarke Berg 5b102e3b8e Pass cache level to properties when creating published content in nucache
(cherry picked from commit d9d2b66e85)

# Conflicts:
#	src/Umbraco.Web/PublishedCache/NuCache/PublishedContent.cs
(cherry picked from commit 040495f359)
2024-01-31 10:55:34 +01:00
AleksanderandBjarke Berg b18b6cc5e7 Pass cache level to properties when creating published content in nucache
(cherry picked from commit d9d2b66e85)

# Conflicts:
#	src/Umbraco.Web/PublishedCache/NuCache/PublishedContent.cs
(cherry picked from commit 040495f359)
2024-01-31 10:52:01 +01:00
Sebastiaan Janssen db545a33e1 Merge branch 'v13/dev' into contrib 2024-01-31 10:49:42 +01:00
Kenn JacobsenandGitHub aaf7075313 Property level validation for Management API (#15644)
* Property level validation for content - initial implementation

* Always succeed create/update regardless of property level validation errors

* Move old complex editor validation classes to Web.BackOffice so they will be deleted

* Include operation status and property validation errors in ProblemDetails

* Refactor property validation to its own service(s)

* Make the problem details builder a little more generic towards extensions

* Validation for item and branch publish

* Moved malplaced test

* Get rid of a TODO

* Integration tests for content validation service

* Simplify validation service

* Add missing response types to create and update for document and media

* Remove test that no longer applies

* Use "errors" for model validation errors (property validation errors)

* Split create/update and validation into their own endpoints

* Fix forward merge

* Correct wrong assumption for missing properties

* Remove localization from validation error messages - decreases dependencies, adds a lot of obsolete constructors

* Reuse existing validation service + support custom error messages

* Fix merge errors

* Review comments
2024-01-31 10:40:58 +01:00
Jacob Overgaard e0e6dee896 update lockfile 2024-01-31 10:06:35 +01:00
Elitsa MarinovskaandBjarke Berg 7a04baf9ef V10: Pass in variation context to published cache (#15563)
* Make sure that we always have variation context

* Fix references

(cherry picked from commit 57b3a196bf)
2024-01-30 15:57:33 +01:00
Sven GeusensandBjarke Berg bc1ddaed8c Run the same cleanup with scaffolding content as when copying. (#15541)
* Run the same cleanup with scaffolding content as when copying.

- Added a new ContentScaffoldedNotification
- Published the notification when a new scaffold has been created from a blueprint (content template)
- Linked up the ComplextPEContent handler to do the same cleanup for the new notification as when copying.
- registered handlers to the event for blocklist, blockgrid and nested content

* PR pattern matching suggestion

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

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
(cherry picked from commit dff90c6ec0)
2024-01-30 15:54:33 +01:00
Bjarke Berg 860afb35f2 Bump version 2024-01-30 15:53:21 +01:00
Bjarke Berg ec25c3a61d Bump version 2024-01-30 15:52:25 +01:00
Bjarke Berg b22c7b5350 Bump version 2024-01-30 15:51:11 +01:00
Bjarne FyrstenborgandGitHub f9bdbb0539 Media picker crop image size (#15574)
* Remove empty comment

* Formatting

* Return full size for image crop like Image Cropper does
2024-01-30 12:43:44 +00:00
8c8405bbbf V14: Fix up install controller (#15646)
* Rename InstallVResponseModel to InstallRequestModel

* Align SettingsInstallController

* Rename split DatabaseInstallResponseModel in two

* Change UserInstallResponseModel to UserInstallViewModel

* Use PresentationModel instead of ViewModel

* Use operation status pattern when validating database

* Prepare for install to return a message

* Begin updating steps

* Make StepBase sharable between upgrade and install

* Update steps

* Use error message from install steps in install controller

* Use error message from upgrade steps in upgrade controller

* Use 500 for install/upgrade failed

It's entirely likely that it has nothing to do with the request

* Updated OpenApi.Json

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2024-01-30 13:12:08 +01:00
Kenn JacobsenandGitHub 9b454bec6b Model mapping PoC (#15546)
* First take at new models for improved mapping between client and server

* Add variants to Media

* Re-introduced lost names

* Start breaking apart "Id" reference properties in request models as well

* Refactor to fix OpenAPI spec

* Discard TODO (not relevant)

* Split recycle bin response models

* Delete unused marker interface

* Use reference properties for content and media type handling

* Rework document and media types to be explicit in relations (do not expose "content type", it is an implementation detail)

* Mapping for document and media type copy + move

* Ensure correct response model for Media

* Regenerate OpenAPI JSON after forward merge

* Fix forward merge issues

* Fix forward merge + regenerate OpenApi.json

* Added unit tests for content state helper

* Move "allowed document types" endpoint to document type silo, refactored services and added "allowed media types"

* Regenerate OpenApi.json after forward merge

* Do not include content state for media items

* Review fix
2024-01-30 12:19:05 +01:00
Rachel DrakeandMichael Latouche 2d2d17d928 Fixing #14088.
Match content finder functionality in the url provider for umbracoUrlAlias.
2024-01-30 03:02:42 +01:00
Erik-Jan WestendorpandGitHub 7256d49761 Use constants for all webhook event aliases (#15492)
* Use constants for all webhook event aliases

* Fix
2024-01-30 02:52:50 +01:00
bb46d23730 V14 Bugfix, fixed some of the document controllers (#15449)
* Updated naming to route correctly

* Added a check for null

* Added another status code for the PublicAccess

* Added a check for null

* Updated naming to match route

* Added attempt pattern

* added a ProblemDetailsBuilder for the EntryNotFound

---------

Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2024-01-29 12:58:03 +01:00
Ronald BarendseandGitHub 9799c550f4 Create shadow file systems in configured LocalTempPath (#15637) 2024-01-29 08:48:45 +01:00
Nikolaj Brask-NielsenandGitHub 860acd7ba1 feat: Make JSON tag value fallback (#14856)
* feat: Make JSON tag value fallback

* feat: Make fix more concise

* feat: Add try catch
2024-01-28 10:40:24 +01:00
Bjarne FyrstenborgandMichael Latouche 62bc748a87 Map webhook id property 2024-01-26 22:29:06 +01:00
MrJackWilsonandGitHub f1db40392f Fix for issue 15598 (#15617)
* Make GetIndexValues virtual

* First try get values as JSON. If empty, try as CSV.
2024-01-26 22:09:56 +01:00
Jacob Overgaard aea9b79513 update backoffice submodule 2024-01-26 15:55:30 +01:00
Nikolaj GeisleandGitHub e7749ecb58 V14/feature/more configuration endpoints (#15603)
* Add template configuration endpoint

* Implement template endpoint

* rename template configuration response model

* Implement package configuration endpoint

* Add media configuration endpoint

* Implement document configuration endpoint

* Refactor enabled to disabled

* implement document type configuratio endpoint

* Add required to view model properties

* Update OpenApi.json
2024-01-26 11:03:22 +01:00
Jacob Overgaard 170d91c183 ignore wwwroot in new ui temp project 2024-01-25 14:22:47 +01:00
Jacob Overgaard 2c13ce8877 add wwwroot/media to .gitignore 2024-01-25 14:20:47 +01:00
Sven Geusens fd8c31908d Merge branch 'release/13.1.0' into v13/dev
# Conflicts:
#	version.json
2024-01-25 12:40:32 +01:00
Andreas ZerbstandGitHub a93980b64c V14 Acceptance Test for the Package Section (#15618)
* In progress tests

* Updated createdPackaged tests

* Added test for checking if we are able to see the marketplace

* Added tests for checking if the correct message is shown

* Made quite a lot of changes, used the locators in the testHelpers. Added additional tests

* Updated to match changes to the Ui TestHelpers

* Fixed test

* added package file

* Bumped versions

* Updated naming

* Fixed Acceptance Test to match patterns

* Updated locator in test.

* Added Act comment

* Followed comments from PR
2024-01-25 16:56:25 +07:00
Jacob Overgaard 802e5a8c27 update apidocs ui section to Umbraco 13 2024-01-24 16:29:00 +01:00
Bjarke Berg d8eef9eca5 Fix build 2024-01-24 11:24:40 +01:00
Bjarke Berg 91119308a2 Merge remote-tracking branch 'origin/v14/dev' into v14/dev 2024-01-24 11:12:45 +01:00
MoleandGitHub 76181a8af4 V14: Migrate JsonConfigManipulator to System.Text.Json (#15609)
* Minor cleanup

* Remove old obsoleted property

* Reimplement save connection string

* Remove old method using newtonsoft

* Implement RemoveConnectionStringAsync

* Implement SaveConfigValue

* Implement SaveDisableRedirectUrlTracking

* Cleanup

* Implement SetGlobalIdAsync

* Fix recursive default implementation

* Split manipulating dom and saving json

Otherwise SaveConnectionStringAsync would write twice.

* Add some documentation strings

* Reduce indentation

* Obsolete non-async methods

* Move JsonConfigManipulator to correct namespace and make it internal
2024-01-24 11:07:18 +01:00
Sven Geusens 0821fb64bb version bump 2024-01-24 10:47:06 +01:00
Bjarke Berg 7a6b316f4b Merge remote-tracking branch 'origin/v13/dev' into v14/dev
# Conflicts:
#	src/Umbraco.Infrastructure/PropertyEditors/BlockEditorPropertyValueEditor.cs
#	src/Umbraco.Infrastructure/PropertyEditors/NestedContentPropertyEditor.cs
#	src/Umbraco.Web.BackOffice/Security/BackOfficeSignInManager.cs
#	tests/Umbraco.Tests.UnitTests/Umbraco.Core/PropertyEditors/DataValueEditorReuseTests.cs
#	version.json
2024-01-24 08:36:55 +01:00
Jacob Overgaard 80df1d17db Merge branch 'release/14.0' into v14/dev 2024-01-23 18:59:45 +01:00
Bjarke Berg a12361deb5 Fixed test 2024-01-23 18:56:47 +01:00
aaca7a5ff4 2FA for users in management API (#15607)
* Added 2FA management endpoints

* Ensure not found do not lead to forbidden results

* Do not inherit the requirement to have access to users, from the current user base class

* Updated OpenApi.json

* Handle 2FA in login scenario (only backend)

* Added the endpoint to use for client to post 2FA code

* Fixed tests and allow injecting the authentication type settings

* fix test build

* Fallback to use Constants.Security.BackOfficeAuthenticationType

* remove unused variable

* Review fixes

* Build fix

* Update src/Umbraco.Cms.Api.Management/Controllers/User/Current/DisableTwoFactorProviderCurrentUserController.cs

Co-authored-by: Sven Geusens <geusens@gmail.com>

* Handle case where 2fa provider is already setup

---------

Co-authored-by: Sven Geusens <geusens@gmail.com>
2024-01-23 18:07:21 +01:00
Jacob Overgaard e9082dafa6 clean apidocs before upload 2024-01-23 16:43:27 +01:00
Jacob Overgaard 71651decbc variables probably do not work without a real stage dependency 2024-01-23 16:38:16 +01:00
Bjarke Berg 61a28c9b34 Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2024-01-23 16:21:59 +01:00
Bjarke Berg c24cd2e53b Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2024-01-23 16:20:48 +01:00
Bjarke Berg 1886553148 Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2024-01-23 16:20:24 +01:00
Ronald BarendseandGitHub b7e43a8def Get references from macro parameters using IDataValueReferenceFactory (#15625) 2024-01-23 16:08:17 +01:00
Jacob Overgaard bfb500612a bump version to 14.0.0--preview005 2024-01-23 15:34:28 +01:00
Bjarke Berg b3d6c60ce2 Revert breaking changes 2024-01-23 14:46:58 +01:00
Bjarke Berg 4421b920f0 Revert breaking changes 2024-01-23 14:26:47 +01:00
Bjarke Berg b853a5e14a Revert breaking changes 2024-01-23 14:11:42 +01:00
Jacob Overgaard 7b99bdea9d remove unused parameter 2024-01-23 13:48:03 +01:00
Bjarke Berg 088f907dcc Merge remote-tracking branch 'origin/v12/dev' into v13/dev
# Conflicts:
#	src/Umbraco.Core/PropertyEditors/DataValueReferenceFactoryCollection.cs
#	src/Umbraco.Infrastructure/Persistence/Repositories/Implement/ContentRepositoryBase.cs
#	src/Umbraco.Infrastructure/PropertyEditors/BlockEditorPropertyValueEditor.cs
#	tests/Umbraco.Tests.UnitTests/Umbraco.Core/PropertyEditors/DataValueEditorReuseTests.cs
#	tests/Umbraco.Tests.UnitTests/Umbraco.Core/PropertyEditors/DataValueReferenceFactoryCollectionTests.cs
2024-01-23 13:40:07 +01:00
Jacob Overgaard 789c47eb98 update backoffice submodule (signout) 2024-01-23 09:54:52 +01:00
8bf8483dcb V14 QA Added acceptance tests for Dictionary (#15479)
* Bumped version of TestHelper

* Added .udt test files

* Updated api tests for Dictionary

* Added ui tests for Dictionary

* Updated ui tets for Dictionary as TestHelper is changed

* Updated ui tests of Dictionary

* Updated verify step

* Fixed comments

* Imported crypto into Dictionary.spec.ts

Co-authored-by: Andreas Zerbst <73799582+andr317c@users.noreply.github.com>

* Fixed format

---------

Co-authored-by: Andreas Zerbst <73799582+andr317c@users.noreply.github.com>
2024-01-23 09:47:23 +01:00
Bjarke Berg 5b44503577 Merge remote-tracking branch 'origin/v11/dev' into v12/dev
# Conflicts:
#	src/Umbraco.Core/PropertyEditors/DataValueReferenceFactoryCollection.cs
#	src/Umbraco.Infrastructure/Persistence/Repositories/Implement/ContentRepositoryBase.cs
#	src/Umbraco.Infrastructure/PropertyEditors/BlockEditorPropertyValueEditor.cs
#	src/Umbraco.Infrastructure/PropertyEditors/NestedContentPropertyEditor.cs
2024-01-23 09:40:07 +01:00
Bjarke Berg e55921ce80 Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2024-01-23 09:35:52 +01:00
Jacob Overgaard e21932283c update backoffice submodule 2024-01-23 09:07:48 +01:00
Bjarke Berg 0760fbd702 Increase timeout so we can figure out which tests are slow 2024-01-23 08:49:25 +01:00
26761cc04a Implemented culture based authorization for content (#15580)
* Implemented culture based authorization for content

* Implemented culture auth for create/update of documents

* Applied culture authorization to dictionary create/update

* Added an integration test to test an assumption about the ContentTypeEditingService.CreateAsync method

* Fix processing when result is already false;

* Apply suggestions from code review

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

* Refactor method to async + clarify and consilidate comments regarding dictionary locks

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2024-01-22 21:08:20 +01:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
e04c4a89ad Bump vite from 4.5.1 to 4.5.2 in /src/Umbraco.Web.UI.Login (#15616)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 4.5.1 to 4.5.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v4.5.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v4.5.2/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-22 16:59:49 +01:00
acc71b6d45 Add management api delete document endpoints (#15600)
* Added Delete document endpoint

* Added delete from recylebin endpoint

Added/restructured unittests

* Clarifications

* Moved document specific mapping from base recyclebin to document recyclebin

* Refactor OperationStatusResult mapping trough inheritance

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
2024-01-22 15:58:18 +01:00
Bjarke BergandGitHub 5940a54585 Updated minor and patch dependencies. (#15619) 2024-01-22 15:40:26 +01:00
Ronald BarendseandGitHub cdbbd6a921 Optimize relation tracking for adding new and keeping existing relations (#15596)
* Include automatic relation type aliases from factory and fix SQL parameter overflow (#15141)

* Include automatic relation type aliases from factory

* Remove unnessecary distinct and fix SQL parameter overflow issue

* Fixed assertions and test distinct aliases

* Simplified collection assertions

* Improve logging of invalid reference relations (#15160)

* Include automatic relation type aliases from factory

* Remove unnessecary distinct and fix SQL parameter overflow issue

* Fixed assertions and test distinct aliases

* Simplified collection assertions

* Improve logging of invalid reference relations

* Always get all automatic relation type aliases

* Do not set relation type alias for unknown entity types

* Get references from recursive (nested/block) properties

* Optimize relation tracking for adding new and keeping existing relations

* Optimize getting references by grouping by property editor alias and avoiding duplicate parsing of the same value
2024-01-22 14:53:20 +01:00
Elitsa MarinovskaandGitHub bb0395349f V14: Fix composition endpoints namespaces (#15620)
* Fix namespace in media type related classes

* Fix namespace in document type composition related classes
2024-01-22 14:11:11 +01:00
Jacob OvergaardandGitHub f3ed935213 allow the blockeditormodelobject.service.js to fall back to -20 for currentPageId if we are not in an editor mode (#15615)
we detect the editor mode by checking for `contentTypeKey` which only exists on content contexts
2024-01-22 13:37:15 +01:00
e4f9f98f2d File system endpoints redo (#15521)
* First stab at a massive remake of file system based endpoints

* Do not prefix system paths with directory separator char

* Ensure correct and consistent response types

* Fix partial view snippets endpoints

* Clean up IO (path) operations

* Update OpenAPI JSON to match new endpoints

* Return 201 when renaming file system resources

* Add "IsFolder" to file system item endpoints

* Replace "parentPath" with a "parent" object for file system creation endpoints

* Update OpenAPI JSON

* Rewrite snippets

* Regenerate OpenAPI JSON after forward merge

* Remove stylesheet overview endpoint

* Regenerate OpenAPI JSON after forward merge

* add server-file-system module to importmap

* Expose generated resource identifier in 201 responses

---------

Co-authored-by: Mads Rasmussen <madsr@hey.com>
2024-01-22 08:20:45 +01:00
Liam LavertyandGitHub dd3ab3a0dc Temp/15591 serilog string conventions (#15592)
* Updaets `MigrationPlanExecutor.cs` to use serilog convention for strings

* Updaets `ExamineManagementController.cs` to use serilog convention for strings

* Updaets `HelpController.cs` to use serilog convention for strings

* Updaets `PreviewAuthenticationMiddleware.cs` to use serilog convention for strings
2024-01-22 02:57:58 +01:00
Bjarke Berg bee20b525f Post merge fix 2024-01-20 11:26:40 +01:00
f5096ba8f3 Now properly checks the lockedoutdate (#14908)
* Now properly checks the lockedoutdate

* Also fix Test (failed constructor)

* Processed feedback

* Added obsolete constructor

---------

Co-authored-by: Ambert van Unen <AvanUnen@ilionx.com>
2024-01-20 01:33:11 +01:00
Bjarke Berg fbf3e6dc71 Merge remote-tracking branch 'origin/v10/dev' into v11/dev
# Conflicts:
#	src/Umbraco.Core/Composing/BuilderCollectionBase.cs
2024-01-19 20:15:50 +01:00
Ronald BarendseandBjarke Berg ce22315520 Backport relation tracking fixes and get references from recursive (nested/block) properties (#15593)
* Include automatic relation type aliases from factory and fix SQL parameter overflow (#15141)

* Include automatic relation type aliases from factory

* Remove unnessecary distinct and fix SQL parameter overflow issue

* Fixed assertions and test distinct aliases

* Simplified collection assertions

* Improve logging of invalid reference relations (#15160)

* Include automatic relation type aliases from factory

* Remove unnessecary distinct and fix SQL parameter overflow issue

* Fixed assertions and test distinct aliases

* Simplified collection assertions

* Improve logging of invalid reference relations

* Always get all automatic relation type aliases

* Do not set relation type alias for unknown entity types

* Get references from recursive (nested/block) properties

(cherry picked from commit 5198e7c52d)
2024-01-19 20:06:41 +01:00
Ronald BarendseandGitHub 5198e7c52d Backport relation tracking fixes and get references from recursive (nested/block) properties (#15593)
* Include automatic relation type aliases from factory and fix SQL parameter overflow (#15141)

* Include automatic relation type aliases from factory

* Remove unnessecary distinct and fix SQL parameter overflow issue

* Fixed assertions and test distinct aliases

* Simplified collection assertions

* Improve logging of invalid reference relations (#15160)

* Include automatic relation type aliases from factory

* Remove unnessecary distinct and fix SQL parameter overflow issue

* Fixed assertions and test distinct aliases

* Simplified collection assertions

* Improve logging of invalid reference relations

* Always get all automatic relation type aliases

* Do not set relation type alias for unknown entity types

* Get references from recursive (nested/block) properties
2024-01-19 20:02:57 +01:00
LFLavertyandLaura Neto 4bc36a7eb8 Updates to the new media article link 2024-01-19 17:51:49 +01:00
Jacob Overgaard 681903a1a7 update backoffice submodule 2024-01-19 13:32:33 +01:00
Søren KottalandSven Geusens bc803ae78b Fix RTE block rendering failing (#15583)
Adds optional class attribute to regex responsible for parsing RTE values to block models
2024-01-19 13:22:46 +01:00
Søren KottalandGitHub b0b98865c6 Fix RTE block rendering failing (#15583)
Adds optional class attribute to regex responsible for parsing RTE values to block models
2024-01-19 13:21:17 +01:00
1fe39de589 Add missing empty recycle bin endpoints (#15602)
* Added empty document recyble bin

* Made EmptyDocumentRecycleBinController leaner

Cleaned up obsolete constructor

* Added empty media recycle bin endpoint

* Cleanup

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Elitsa <elm@umbraco.dk>
2024-01-19 10:58:33 +01:00
Jacob Overgaardandleekelleher 9df6e65552 V13: Rich text editor does not show its toolbar on grid layout rte's (#15595)
* synchronize normal rte with grid-rte

* restore pinToolbar and unpinToolbar from v10 and update to tinymce v6 and apply to grid-rte

* linting

* Reverting `pinToolbar` from v8

* remove unused variable

---------

Co-authored-by: leekelleher <leekelleher@gmail.com>
2024-01-19 09:11:40 +01:00
9196d7ad00 V13: Rich text editor does not show its toolbar on grid layout rte's (#15595)
* synchronize normal rte with grid-rte

* restore pinToolbar and unpinToolbar from v10 and update to tinymce v6 and apply to grid-rte

* linting

* Reverting `pinToolbar` from v8

* remove unused variable

---------

Co-authored-by: leekelleher <leekelleher@gmail.com>
2024-01-18 13:19:36 +01:00
Jacob Overgaard 14299b6674 bump version to 13.2.0-rc 2024-01-17 15:10:14 +01:00
Kenn JacobsenandGitHub 5429aa78a5 "Created at" responses should not have a response body (#15590) 2024-01-17 13:37:24 +01:00
43791c2b33 v14: Merge NewBackOfficeSettings into SecuritySettings. (#15586)
* Merge NewBackOfficeSettings into SecuritySettings.

* Apply suggestions from code review

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

* Remove hardcoded callback path

---------

Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
2024-01-17 13:26:09 +01:00
547da0b191 V14: Composition endpoints for Document and Media types (#15584)
* Adding response/request models

* Adding mapping

* Adding factory

* Adding controllers

* Moved to correct (generic domain) namespace

* Renamed to reflect the correct domain + renamed IsAllowed to IsCompatible

* Renaming + TODO

* Removed presentation logic + TODO

* Fixed controller

* Attempt for generic implementation

* Enable composition of media types + refactor content/media type editing tests to prove it (and a little renaming of a mis-named property)

* Remove unused classes

* Introducing GetAvailableCompositionsAsync to EditingServices

* Implement GetAvailableCompositionsAsync

* Base share implementation

* Tests

* Tests

* Renaming

* Clean up controller

* Clean up test

* Remove redundant check

* Create and use generic models

* Add shared implementation

* Fix and rename doc type mapper

* Fix document Type factory

* Add missing response type

* Create a base request model

* Make key nullable when new item

* Media type response models

* Default isElement to false and remove isElement param from media type related things

* Create mappings for media type compositions

* Inject generic base service to reuse implementation amongst concrete services

* Add new composition endpoints for media type

* Use specific type

* Add a reference comment to other test suite

* Add more test cases

---------

Co-authored-by: kjac <kja@umbraco.dk>
2024-01-17 08:36:27 +01:00
Erik-Jan WestendorpandMichael Latouche 8088b726b4 localize webhook edit view 2024-01-17 02:09:59 +01:00
40a28a938c Management API for dynamic root and query steps. (#15505)
* Added management API for dynamic root and query steps.

* Open API

* Split models, use required and rename a little

* Rename query steps

* Make request culture and segment optional

* Introduce explicit back-office variation context

* Simplify query endpoint path

* Correct field naming

* Updated OpenApi.json

---------

Co-authored-by: kjac <kja@umbraco.dk>
2024-01-16 07:47:43 +01:00
Jacob Overgaard 852f0fb4a6 update backoffice submodule 2024-01-15 14:26:41 +01:00
Kenn JacobsenandGitHub a70c606c27 Do not log direct query inputs (#15577) 2024-01-15 14:14:27 +01:00
Jacob Overgaard 201433fb71 update backoffice submodule 2024-01-15 11:57:59 +01:00
Jacob Overgaard 3f65046a7d update backoffice submodule 2024-01-15 11:45:35 +01:00
Bjarke Berg ea9226f169 Fixed exception type 2024-01-13 22:24:44 +01:00
Bjarke Berg eb8a27016e Fix merge issue with an old package reference 2024-01-13 21:27:24 +01:00
Bjarke Berg 9811eaebeb Post merge fix 2024-01-13 20:47:16 +01:00
Bjarke Berg aa6f704353 Merge remote-tracking branch 'origin/v14/dev' into v14/dev
# Conflicts:
#	src/Umbraco.Infrastructure/BackgroundJobs/Jobs/OpenIddictCleanupJob.cs
2024-01-12 13:34:30 +01:00
664da17c39 V14 QA Fixed the failed acceptance tests (#15527)
* 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

* Fixed comments

* Bumped version of test helper

* Updated the version to 10 instead of 11

* Updated the package-lock.json file to contain the correct versions

* Added a waitForTimeout
The reason for this is that this test is failing on the pipeline

* Bumped version of testhelpers

* Removed TODO

* Updated EnsurePathExists so we create the stylesheet and scripts folder

* Added a waits for response, otherwise our test would be too fast

* Sometimes it reloads before the save is complete

* Added timeout for locator

* Removed duplicate

* Wait until save

* This was an actual bug, so we should not use a workaround, we should fix it

* Skips the tests for script.

* Bug was fixed, so this can be used again

---------

Co-authored-by: Andreas Zerbst <andr317c@live.dk>
2024-01-12 13:32:25 +01:00
Andy ButlandandGitHub 49f5d2e2d4 Updates JSON schema for Umbraco 10 to include details of additional configuration introduced in Forms and Deploy. (#15566) 2024-01-12 13:13:20 +01:00
MoleandGitHub a8fd00a3b4 Make an exception for root path (#15570) 2024-01-12 12:29:23 +01:00
c5c24d36d9 V14: Copy and move endpoints for content and media types (#15553)
* Create new request models

* Create new structural operation status

* Handling of new structural operation status

* New CopyAsync and MoveAsync

* New endpoints

* Update schema

* Adding NotFound status

* Adding BadRequest response type

* Moving getbyid check to service

* Fix signature and implement get by id check in service

* Update OpenApi schema

* Use PUT instead of POST in "move" controllers

* Use PUT instead of POST in some more "move" controllers

---------

Co-authored-by: kjac <kja@umbraco.dk>
2024-01-12 08:59:21 +01:00
Ronald BarendseandBjarke Berg 05921ee6cc Refactor System.Runtime.Caching to Microsoft.Extensions.Caching.Memory 2024-01-11 14:26:19 +01:00
Ronald BarendseandBjarke Berg ace5c54da2 Remove unused/untested dependent files support from IAppPolicyCache 2024-01-11 14:25:54 +01:00
Bjarke BergandGitHub e291fae01e Migrated ReportSite, OpenIddictCleanup and TemporaryFileCleanup to background jobs (#15555)
* Migrated ReportSite, OpenIddictCleanup and TemporaryFileCleanup to the new background jobs introduced in v13.

* Fixed delay and period
2024-01-11 13:18:10 +01:00
Nikolaj Geisle 597d8553c0 bump version.json 2024-01-11 12:49:33 +01:00
Elitsa MarinovskaandGitHub 57b3a196bf V10: Pass in variation context to published cache (#15563)
* Make sure that we always have variation context

* Fix references
2024-01-11 12:46:31 +01:00
MoleandGitHub 416c19854d V14: Migrate examine integration tests to V14 (#15536)
* Begin migrating test to use new service calls

* Fix formatting

* Add todo to add timeout so our tests dont stall entirely

* Add timeout so tests can run

Still need to figure out why the index only seems to update sometimes

* Migrate BackOfficeExamineSearcherTests to use new service calls

* Remove unused imports

* Migrate to languageservice in external index searcher test

* Use seperate save and publish calls

* Use scopes in ExamineExternalIndexTests

* Use scopes in BackOfficeExamineSearcherTests
2024-01-11 11:12:47 +01:00
8516a7b2e5 V14: Add security related configurations (#15557)
* Implement user configuration endpoint

* Add password configuration factory

* refactor users to use new password configuration model

* Implement current user configuration endpoint

* Add auth policy

* Refacor current user to use PasswordConfigurationReponseModel

* Implement configuration security controller

* Rename property to less confusing name

* Add version to ConfigurationSecurityController.cs

* Review changes

---------

Co-authored-by: kjac <kja@umbraco.dk>
2024-01-11 10:30:22 +01:00
d3dc85f31f Only update security stamp once per request (#15562)
* Add item in requestcache when security stamp is already updated in request

* Propagate constructur obsoletion to implementing services and fix unit tests

---------

Co-authored-by: kjac <kja@umbraco.dk>
2024-01-11 10:20:58 +01:00
Jacob OvergaardandGitHub b916c85738 V13: TinyMCE does not toggle plugin buttons (#15558)
* bump tinymce from 6.8.1 to 6.8.2

* replace stateSelector with appropriate onSetup() functionality and replace addButton() with addToggleButton() to support toggling
2024-01-10 15:30:51 +01:00
Niels LyngsøandGitHub 83a0bf4f4b Fix: No Blocks Mode for RTE when required context for Blocks is not present (#15556)
* noBlocksMode

* another blockEditorApi check
2024-01-10 14:53:26 +01:00
Sven GeusensandZeegaan 9da46462f7 Run the same cleanup with scaffolding content as when copying. (#15541)
* Run the same cleanup with scaffolding content as when copying.

- Added a new ContentScaffoldedNotification
- Published the notification when a new scaffold has been created from a blueprint (content template)
- Linked up the ComplextPEContent handler to do the same cleanup for the new notification as when copying.
- registered handlers to the event for blocklist, blockgrid and nested content

* PR pattern matching suggestion

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

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
(cherry picked from commit dff90c6ec0)
2024-01-10 12:27:11 +01:00
dff90c6ec0 Run the same cleanup with scaffolding content as when copying. (#15541)
* Run the same cleanup with scaffolding content as when copying.

- Added a new ContentScaffoldedNotification
- Published the notification when a new scaffold has been created from a blueprint (content template)
- Linked up the ComplextPEContent handler to do the same cleanup for the new notification as when copying.
- registered handlers to the event for blocklist, blockgrid and nested content

* PR pattern matching suggestion

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

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2024-01-10 12:22:36 +01:00
33f2b26bf6 [v14] Absolute media urls (#15503)
* Made a replaceble solution to support absolute urls for media/user avatars in the management API

* PR suggestion

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

* PR suggestion

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

* PR suggestion/fix and added missing switch case

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2024-01-10 10:01:06 +01:00
a6ccd5a7a9 Implement temporary file configuration endpoint (#15518)
* Implement temporary file configuration endpoint

* Update MaxfileSize to be a string.

* Make max file size a nullable integer

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
2024-01-10 09:20:29 +01:00
Bjarke Berg 5f4c8ea0bf Merge remote-tracking branch 'origin/v13/dev' into v14/dev
# Conflicts:
#	src/Umbraco.Cms.StaticAssets/umbraco/UmbracoBackOffice/Default.cshtml
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Login/login.spec.ts
2024-01-10 08:36:50 +01:00
Bjarke Berg f381e8391c Merge remote-tracking branch 'origin/v12/dev' into v13/dev
# Conflicts:
#	src/Umbraco.Infrastructure/Persistence/Repositories/Implement/ContentRepositoryBase.cs
2024-01-10 08:32:02 +01:00
Bjarke Berg a4f6c5d355 Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2024-01-10 07:46:45 +01:00
Bjarke Berg 4463d04850 Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2024-01-10 07:44:30 +01:00
3acda751b9 v14: Add Preview controller (#15481)
* Add Preview controller

* Implement PreviewService

* Add tests for endpoints.

* Add Authorization to previews

* Apply suggestions from code review

Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
2024-01-09 15:51:59 +01:00
dependabot[bot]andSebastiaan Janssen 2e61d6449a Bump follow-redirects in /src/Umbraco.Web.UI.Client
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.9 to 1.15.4.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.14.9...v1.15.4)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-09 10:57:36 +01:00
dependabot[bot]andSebastiaan Janssen e8eec901d1 Bump follow-redirects in /tests/Umbraco.Tests.AcceptanceTest
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.3 to 1.15.4.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.3...v1.15.4)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-09 10:57:13 +01:00
Sebastiaan Janssen 94e8bc1db6 Merge branch 'v13/dev' into contrib 2024-01-09 08:59:48 +01:00
Markus JohanssonandSebastiaan Janssen 704aebed0c Fixes #15512 to allow curly braces in anchors 2024-01-08 15:23:25 +01:00
AleksanderandSebastiaan Janssen 040495f359 Pass cache level to properties when creating published content in nucache
(cherry picked from commit d9d2b66e85)

# Conflicts:
#	src/Umbraco.Web/PublishedCache/NuCache/PublishedContent.cs
2024-01-08 14:42:17 +01:00
JesmoDevandGitHub 06fdf8d3dc use opacity instead of hardcoded color (#15534) 2024-01-08 09:41:37 +01:00
Jacob OvergaardandGitHub 77861ae55b V13: Load TinyMCE premium plugins through tiny.cloud (#15367)
* add tinymce cloud api key to configuration

* forward apikey through proxied config object after retrieving it from the server

* load the plugins.min.js file from tiny.cloud if cloud api key is set

* bump tinymce from 6.7.3 to 6.8.1

* disable premium promotion and make plugins unique

* make sure tinymce local assets are loaded before trying to load the plugins.js from cloud and before configuring tinymce
2024-01-08 08:58:57 +01:00
alevak09andGitHub cceabf88cd Update hr.xml (#15413)
Update croatian translation language file
2024-01-05 16:24:54 +00:00
Bjarne FyrstenborgandGitHub 425023f83b Ensure datepicker input is cleared (#15338) 2024-01-05 15:23:57 +00:00
Erik-Jan WestendorpandMichael Latouche 6c725dbd67 Fix aliases 2024-01-03 13:20:12 +01:00
Andy ButlandandGitHub 99119a506f Ensured removal of any auto-relations from custom relation types used in nested property values, to ensure there will be no duplicate error when the relations are saved. (#15447) 2024-01-03 10:50:58 +01:00
Shannon DeminickandGitHub a36c7beabf Decouple Lucene from Content Delivery API (#15493)
* Decouples Lucene from the Content Delivery API

* oops removes other refs
2024-01-02 16:20:53 +01:00
c937d0f2ed V14/feature/management tree count by take zero (#15308)
* Allow Tree endpoints that query entities to return count without entity data

* Apply count by take 0 in FileSystem Endpoints

* Apply count by take 0 in Dictionary Endpoints

* Apply count by take 0 in RootRelationType Endpoints

* Revert PaginationService takeZero flag as it only guards against things that already blow up

* Mark PagedResult as Obsolete as we want to step away from classic pagination system to skip/take

* Pushed management api RelationType pagination and async preperation down to the service layer

* Scope fix and allocation optimizations

* Pushed management api dictionary pagination and down to the service layer

Also did some nice allocation optimizations

* PR feedback + related strange count behaviour

* Moved count by pagesize logic from EntryController to service

* A tiny bit of formatting and comments

* Fix bad count filter logic

* Added integration tests for creating datatypes in a folder

* Added tests for count testing on TreeControllers

- ChildrenDataType
- RootDataType
- ChildrenDictionary
- RootDictionary
- ChildrenDocument
- RootDocument
- RootBluePrint
- RootDocumentType
- ChildrenDocumentType

* Revert "Added tests for count testing on TreeControllers", should be on services

This reverts commit ee2501fe62.
This reverts commit 808d5b276f.

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: kjac <kja@umbraco.dk>
Co-authored-by: Andreas Zerbst <andr317c@live.dk>
2024-01-02 13:53:24 +01:00
Elitsa MarinovskaandGitHub f3cb8fe117 V14: User token revocation and session sign-out (#15511)
* Fix token revocation endpoints registration for .well-known

* Add logout and revocation endpoints to OpenIddict permissions

* Register urls for post_logout_redirect_uri

* Create /signout endpoint
2024-01-02 13:42:39 +01:00
Sebastiaan Janssen 6258fa6a35 Merge branch 'v13/dev' into contrib
# Conflicts:
#	src/Umbraco.Cms.StaticAssets/umbraco/UmbracoBackOffice/Default.cshtml
#	src/Umbraco.Core/EmbeddedResources/Lang/en.xml
#	src/Umbraco.Web.UI.Client/src/common/services/blockeditormodelobject.service.js
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Login/login.spec.ts
2024-01-02 10:33:35 +01:00
674c48ab9a V14: Add optional key to template create model (#15471)
* Implement Id for request model

* Make key optional

* Add test for use case

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
2024-01-02 08:57:07 +01:00
f026010102 Implement server configuration (#15507)
Co-authored-by: Elitsa <elm@umbraco.dk>
2023-12-29 13:47:44 +01:00
Bjarke Berg 1bf13b4ad4 Remove legacy file upload attribute usage 2023-12-22 15:49:33 +01:00
Bjarke Berg 6395feb3a3 Remove the DataTypeSplitDataCollector.cs 2023-12-22 15:48:53 +01:00
Bjarke Berg 1e849ad539 Merge remote-tracking branch 'origin/v13/dev' into v14/dev
# Conflicts:
#	Directory.Build.props
#	src/Umbraco.Web.BackOffice/Controllers/ContentController.cs
2023-12-22 14:19:04 +01:00
Bjarke Berg 8b82addd53 Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2023-12-22 14:11:21 +01:00
Bjarke Berg 3538737681 Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2023-12-22 14:10:57 +01:00
Bjarke Berg b0c5101b2b fix build 2023-12-22 14:10:00 +01:00
Bjarke Berg 23341c8f35 Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2023-12-22 14:06:50 +01:00
Bjarke Berg 4489cf45d1 Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2023-12-22 14:06:05 +01:00
Bjarke Berg 91e37b80e3 Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2023-12-22 14:05:12 +01:00
Bjarke Berg a2ad95d965 Change content 2023-12-22 13:49:57 +01:00
Bjarke Berg 64f2447c0e Added script to update default version 2023-12-22 13:15:13 +01:00
Bjarke Berg b648126d19 Use wildcard as default valid 2023-12-22 12:59:13 +01:00
fc71724386 V14: Server information (#15497)
* Rename information endpoint to troubleshooting

* Rename information endpoint to troubleshooting

* Add new information endpoint

* Fix bad merge

* Add InformationServerController.cs back

* Update serverTime offset to non hard-coded value.

* Add dictionary to swagger models

* Update OpenApi.json file

* Rename map definition

* Add ServerConfigurationBaseModel

* Implement ServerConfigurationBaseModel.cs

* Updated OpenApi

* Updated endpoint to return correct type in openapi

* Use explicit class for server information

* Remove version endpoint, as that is contained in server information.

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-12-22 10:21:11 +01:00
8acb5665e8 Add post and delete methods to user-group/id/users to add/remove user… (#15490)
* Add post and delete methods to user-group/id/users to add/remove users from group

* Update OpenApi contract

* PR feedbac

Moved fetch usergroup logic into service layer
Renamed methods to async

* Naming

* Introduced user not found on UserGroupOperationStatus, as otherwise the return message is wrong

* Added authentication

* Removed authorization from the service layer as its determined that that responsibiliity does not belong there.

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-12-22 08:05:45 +01:00
Bjarke Berg 52810b9ee1 Merge branch 'release/13.0' into v13/dev
# Conflicts:
#	version.json
2023-12-21 19:16:44 +01:00
Bjarke Berg a0f3c158df Bump version 2023-12-21 14:56:26 +01:00
Ronald BarendseandBjarke Berg 1e55ac97cd Ensure artifact dependency keeps correct mode, ordering and checksum values (#15500)
(cherry picked from commit f705479767)
2023-12-21 14:56:06 +01:00
Ronald BarendseandGitHub f705479767 Ensure artifact dependency keeps correct mode, ordering and checksum values (#15500) 2023-12-21 14:55:43 +01:00
812b414d96 Batched more update calls to avoid Sql paramater count error (#15487)
Co-authored-by: Sven Geusens <sge@umbraco.dk>
2023-12-21 09:43:37 +01:00
Bjarke Berg 4b3131fda4 Merge remote-tracking branch 'origin/v13/dev' into v14/dev 2023-12-20 15:17:37 +01:00
Bjarke Berg 5b29843b9f Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2023-12-20 15:13:55 +01:00
Bjarke Berg c1766b0c57 Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2023-12-20 15:13:24 +01:00
Bjarke Berg 851e060a25 Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2023-12-20 15:13:06 +01:00
Bjarke Berg 0b811d6648 Reenabled package validation and fixed breaking change in test 2023-12-20 13:36:01 +01:00
Bjarke Berg 28fc85a96c Merge remote-tracking branch 'origin/release/13.0' into v13/dev
# Conflicts:
#	version.json
2023-12-20 09:52:57 +01:00
Bjarke Berg b1d9573e47 Merge remote-tracking branch 'origin/release/12.3' into v12/dev
# Conflicts:
#	version.json
2023-12-20 09:52:16 +01:00
Bjarke Berg ec91c47158 Merge remote-tracking branch 'origin/release/10.8' into v10/dev
# Conflicts:
#	version.json
2023-12-20 09:51:14 +01:00
Kenn JacobsenandBjarke Berg e8a81e30b1 Add policies for content template handling (#15482) 2023-12-19 14:22:09 +01:00
Bjarke Berg 11cef81c77 Bump version 2023-12-19 14:21:00 +01:00
Kenn JacobsenandBjarke Berg e34b2c09e0 Add policies for content template handling (#15482) 2023-12-19 14:20:31 +01:00
Kenn JacobsenandGitHub e04a41be45 Add policies for content template handling (#15482) 2023-12-19 14:18:48 +01:00
78850087f8 Added a temporary DataCollector for v14 editorAlias migrations (#15463)
* Added a temporary DataCollector for v14 editorAlias migrations

* PR feedback

Do not run the collector on subscribers or non running instances
Reduced logger noise

* Extra v14 sanity check

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
2023-12-19 14:18:10 +01:00
Jacob Overgaard 7694588c86 update backoffice submodule 2023-12-18 14:32:32 +01:00
Jacob OvergaardandGitHub 650a9dad3b add the cors policy as first item on the pipeline filter (#15472)
this ensures that any assets loaded as "modules" also get the right Access-Control-Allow-* headers
2023-12-18 14:19:53 +01:00
Kenn JacobsenandGitHub c2b970d0de Make "create folder" return HTTP 201 Created for file system folders (#15459)
* Make "create folder" return 201 and add expected return types to "create" and "delete" for all file system folder endpoints

* Update OpenApi.json
2023-12-18 11:01:53 +01:00
Chris Fitz-AvonandBjarke Berg 38f7df2b0c Remove content section access policy from GetAllLanguages endpoint. #15435 (#15450)
(cherry picked from commit cedfdcc9b2)
2023-12-18 08:27:01 +01:00
Bjarke Berg f9ea546c66 Bump version 2023-12-18 08:26:38 +01:00
Chris Fitz-AvonandBjarke Berg d5156aced2 Remove content section access policy from GetAllLanguages endpoint. #15435 (#15450)
(cherry picked from commit cedfdcc9b2)
2023-12-18 08:25:00 +01:00
Bjarke Berg fa9b0e4718 Bump version 2023-12-18 08:23:34 +01:00
Bjarke BergandGitHub bf498b411c RebuildOnStartupHandler should not inject ExamineIndexRebuilder, but only the interface (#15465) 2023-12-18 06:58:12 +01:00
Jacob Overgaard 32cecbe14f update backoffice submodule 2023-12-16 11:01:01 +01:00
Jacob Overgaard 6df3b5bd66 update backoffice submodule 2023-12-16 09:47:06 +01:00
Jacob Overgaard bb43db2601 update backoffice submodule 2023-12-16 09:14:56 +01:00
Jacob Overgaard 786f584de9 update backoffice submodule 2023-12-15 10:29:49 +01:00
Jacob Overgaard 38b4e44479 update backoffice submodule 2023-12-15 09:48:32 +01:00
Nikolaj Geisle 8ecc5552ab Merge branch 'release/13.0' into v13/dev
# Conflicts:
#	version.json
2023-12-14 16:33:27 +01:00
Elitsa MarinovskaandGitHub dbdf3cf03d V14: Tighten permissions for folder controllers (#15457)
* Fixing folder controller policies

* Remove unused policy
2023-12-14 15:03:35 +01:00
Nikolaj GeisleandGitHub 36b7b86384 Remove sections setting authorization policy (#15456) 2023-12-14 13:57:52 +01:00
Chris Fitz-AvonandNikolaj Geisle cedfdcc9b2 Remove content section access policy from GetAllLanguages endpoint. #15435 (#15450) 2023-12-14 13:54:40 +01:00
Chris Fitz-AvonandGitHub c9feaa150e Remove content section access policy from GetAllLanguages endpoint. #15435 (#15450) 2023-12-14 13:49:46 +01:00
b4ca478f2c Required on view models (#15356)
* Added required on view models

* Updated OpenApi.json

* mark all fields required

* Force non-nullable as required.

* Missing import

* Update OpenApi.json

---------

Co-authored-by: Mads Rasmussen <madsr@hey.com>
2023-12-14 11:46:02 +01:00
Niels LyngsøandGitHub d368bd3ebf Update import maps (#15446)
* append 'property' and 'static-file'

* latest front-end commit
2023-12-14 11:45:44 +01:00
Nikolaj GeisleandGitHub c930b91ede 13: Add old databasemodel to ChangeLogStatusCode migration (#15454)
* Add old model to migration and use that instead

* Remove new column
2023-12-14 11:44:55 +01:00
MoleandGitHub db9dc4a20d Rename user controller files to match class names (#15442) 2023-12-14 10:36:43 +01:00
Nikolaj Geisle 02188393f2 bumb version 2023-12-14 09:11:37 +01:00
Bjarke Berg 93fe9f3dea build 2023-12-14 09:04:23 +01:00
Bjarke Berg baf29649c9 Move package to central 2023-12-14 08:42:20 +01:00
Bjarke Berg d1b53c0ec9 Added ignore on new tests (Temporarily) 2023-12-13 16:34:17 +01:00
Bjarke Berg f8dda5a7b5 Post merge fixes 2023-12-13 16:25:28 +01:00
Bjarke Berg 95094361cc Merge remote-tracking branch 'origin/v13/dev' into v14/dev
# Conflicts:
#	Directory.Packages.props
#	build/azure-pipelines.yml
#	src/Umbraco.Cms.Api.Delivery/Handlers/InitializeMemberApplicationNotificationHandler.cs
#	src/Umbraco.Cms.StaticAssets/umbraco/UmbracoBackOffice/Default.cshtml
#	src/Umbraco.Cms.StaticAssets/umbraco/UmbracoLogin/Index.cshtml
#	src/Umbraco.Core/DependencyInjection/UmbracoBuilder.CollectionBuilders.cs
#	src/Umbraco.Infrastructure/Migrations/Upgrade/UmbracoPlan.cs
#	src/Umbraco.Infrastructure/Models/Blocks/BlockListEditorDataConverter.cs
#	src/Umbraco.Infrastructure/PropertyEditors/BlockListPropertyEditorBase.cs
#	src/Umbraco.Infrastructure/PropertyEditors/ValueConverters/BlockListPropertyValueConverter.cs
#	src/Umbraco.Infrastructure/PropertyEditors/ValueConverters/BlockListPropertyValueCreator.cs
#	tests/Directory.Packages.props
#	tests/Umbraco.Tests.AcceptanceTest/package.json
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/BlockListEditor/blockListEditorDataType.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/HelpPanel/helpLinks.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Login/login.spec.ts
#	tests/Umbraco.Tests.UnitTests/Umbraco.Core/PropertyEditors/BlockListPropertyValueConverterTests.cs
#	version.json
2023-12-13 15:34:22 +01:00
Nhu DinhandGitHub ced1a82c4e Renamed GetRichTextRulesByPath controller (#15443) 2023-12-13 10:58:56 +01:00
Bjarke Berg 38879e11df Merge remote-tracking branch 'origin/release/13.0' into v13/dev
# Conflicts:
#	src/Umbraco.Infrastructure/Persistence/Repositories/Implement/CreatedPackageSchemaRepository.cs
#	version.json
2023-12-13 10:44:10 +01:00
Bjarke Berg 8a9e6ee82d Merge remote-tracking branch 'origin/v12/dev' into v13/dev
# Conflicts:
#	global.json
#	src/Umbraco.Cms.StaticAssets/umbraco/UmbracoBackOffice/Default.cshtml
#	src/Umbraco.Cms.StaticAssets/wwwroot/App_Plugins/Umbraco.BlockGridEditor.DefaultCustomViews/umbBlockGridDemoRichTextBlock.html
#	src/Umbraco.Core/EmbeddedResources/Lang/da.xml
#	src/Umbraco.Core/EmbeddedResources/Lang/en.xml
#	src/Umbraco.Core/EmbeddedResources/Lang/fr.xml
#	src/Umbraco.Core/EmbeddedResources/Lang/tr.xml
#	src/Umbraco.Core/Models/PublishedContent/PublishedPropertyType.cs
#	src/Umbraco.Infrastructure/BackgroundJobs/Jobs/HealthCheckNotifierJob.cs
#	src/Umbraco.Infrastructure/BackgroundJobs/RecurringBackgroundJobHostedServiceRunner.cs
#	src/Umbraco.Web.Common/DependencyInjection/UmbracoBuilderExtensions.cs
#	src/Umbraco.Web.UI.Client/src/common/services/blockeditormodelobject.service.js
#	src/Umbraco.Web.UI.Client/src/common/services/editor.service.js
#	src/Umbraco.Web.UI.Client/src/views/components/application/umb-login.html
#	src/Umbraco.Web.UI/Startup.cs
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Login/login.spec.ts
#	tests/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/BackgroundJobs/Jobs/HealthCheckNotifierJobTests.cs
#	version.json
2023-12-13 09:55:34 +01:00
7fdd342643 PropertyEditor(UI)Alias name refactor (#15408)
* PropertyEditor(UI)Alias name refactor

* Updated OpenApi.json

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-12-13 09:50:52 +01:00
Bjarke Berg bd3a26801d Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2023-12-13 09:36:55 +01:00
Bjarke Berg 5a4aaae7f2 Merge remote-tracking branch 'origin/release/12.3' into v12/dev
# Conflicts:
#	version.json
2023-12-13 09:36:44 +01:00
Bjarke Berg 4e12f1e4e6 Merge remote-tracking branch 'origin/release/12.3.4' into v12/dev 2023-12-13 09:36:25 +01:00
Bjarke Berg 923c98a29f Merge remote-tracking branch 'origin/v10/dev' into v11/dev
# Conflicts:
#	src/Umbraco.Web.BackOffice/Controllers/LanguageController.cs
2023-12-13 09:31:54 +01:00
Bjarke Berg 8915064780 Merge remote-tracking branch 'origin/release/10.8' into v10/dev
# Conflicts:
#	version.json
2023-12-13 09:28:19 +01:00
Bjarke Berg 9dfb3005bc fix build 2023-12-12 17:00:30 +01:00
Bjarke Berg c2c1285d17 Fix json schema 2023-12-12 15:56:54 +01:00
Nikolaj Geisleandkjac 3720b5d930 Merge pull request from GHSA-v98m-398x-269r
Co-authored-by: kjac <kja@umbraco.dk>
2023-12-12 15:56:44 +01:00
Nikolaj GeisleandZeegaan d0c5372c6b Merge pull request from GHSA-cfr5-7p54-4qg8
* Apply authorization policies to controllers

* Return bad request if we urltracking is disabled

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-12-12 15:56:44 +01:00
f7e4832898 Merge pull request from GHSA-8qp8-9rpw-j46c
* Ensure that missing access rules do not break the site (#15081)

(cherry picked from commit 6777145079)

* Added Exception handling and replicated error and info message

* Update auth.resource.js

Fixed the message

* Changed Delay introduction to early phase to avoid repeating code.

---------

Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
Co-authored-by: jey <jey@umbraco.dk>
Co-authored-by: Jey <cyaqublu@gmail.com>
2023-12-12 15:56:31 +01:00
Nikolaj GeisleandZeegaan b3caf747df Merge pull request from GHSA-6324-52pr-h4p5
Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-12-12 15:56:13 +01:00
ZeegaanandNikolaj Geisle 497927303f Suppress flow when queueing background threads 2023-12-12 15:55:05 +01:00
ZeegaanandBjarke Berg 13079eb667 Loosen up policies so editors can get what they need 2023-12-12 15:50:09 +01:00
ZeegaanandBjarke Berg 73fab105d2 Loosen up policies so editors can get what they need 2023-12-12 15:48:37 +01:00
Bjarke Berg 0c355b0cf1 Bump version 2023-12-12 15:47:43 +01:00
Bjarke Berg 0ed0338d8f Merge remote-tracking branch 'origin/release/12.3.4' into release/12.3 2023-12-12 15:47:28 +01:00
ZeegaanandBjarke Berg 677ff59d04 Loosen up policies so editors can get what they need 2023-12-12 15:46:46 +01:00
Bjarke Berg 1fe2ec08be bump version 2023-12-12 15:35:15 +01:00
Jacob OvergaardandGitHub 6f123224de V13: Regression with global window.uui export (#15412)
* revert change to load commonjs version of uui

* revert to load uui

* build login first

* build login assets as iife to support loading inside the backoffice
2023-12-12 12:03:49 +01:00
Zeegaan e37e2b5973 bump version 2023-12-12 11:20:44 +01:00
Kenn JacobsenandGitHub fa0b8c7b4d Ensure thread safety for block editor constructor caches (#15425) 2023-12-12 09:55:56 +01:00
Bjarke Berg fe6d6f7156 Post fix 2023-12-11 16:43:21 +01:00
Bjarke Berg 4a0d364d10 Post fix 2023-12-11 16:33:56 +01:00
Jacob Overgaard 81b23a60a4 update backoffice submodule 2023-12-11 16:05:26 +01:00
Bjarke Berg 4b78fabd54 Merge remote-tracking branch 'origin/v10/dev' into v11/dev
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/views/common/login.controller.js
2023-12-11 14:41:17 +01:00
Bjarke Berg bab22d8b5f Merge remote-tracking branch 'origin/release/12.3.4' into release/13.0
# Conflicts:
#	version.json
2023-12-11 14:39:32 +01:00
Bjarke Berg 9f375ede65 Merge remote-tracking branch 'origin/release/12.3.4' into v12/dev 2023-12-11 14:37:36 +01:00
Bjarke Berg 83bcd37250 Merge remote-tracking branch 'origin/release/10.8' into v10/dev 2023-12-11 14:37:10 +01:00
237e4e56b2 Merge pull request from GHSA-v98m-398x-269r
Co-authored-by: kjac <kja@umbraco.dk>
2023-12-11 14:00:23 +01:00
42ae37e502 Merge pull request from GHSA-cfr5-7p54-4qg8
* Apply authorization policies to controllers

* Return bad request if we urltracking is disabled

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-12-11 13:59:59 +01:00
3331788c5c Merge pull request from GHSA-8qp8-9rpw-j46c
* Ensure that missing access rules do not break the site (#15081)

(cherry picked from commit 6777145079)

* Added Exception handling and replicated error and info message

* Update auth.resource.js

Fixed the message

* Changed Delay introduction to early phase to avoid repeating code.

---------

Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
Co-authored-by: jey <jey@umbraco.dk>
Co-authored-by: Jey <cyaqublu@gmail.com>
2023-12-11 13:59:35 +01:00
50a107f885 Merge pull request from GHSA-6324-52pr-h4p5
Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-12-11 13:59:03 +01:00
ZeegaanandBjarke Berg 3a697d90fc Suppress flow when queueing background threads 2023-12-11 12:44:06 +01:00
Ronald BarendseandGitHub 406848b76f Remove date header from webhook request and use constants (#15407)
* Remove date header

* Move webhook event header names to constants
2023-12-11 08:49:37 +01:00
fda866fc9e V14: Add authorization policies to Management API controllers - p2 (#15211)
* Making ProblemDetails details more generic

* Adding authorizer that can be replaces for external authz in handlers. Adding handler and requirement for UserBelongsToUserGroupInRequest policy

* Adding method to get the GUID from claims

* Adding service methods to check user group authz

* Porting MustSatisfyRequirementAuthorizationHandler

* Adding controllers authz

* Fix return status code + produced response type

* Moving to folder

* Adding DenyLocalLogin policy scaffold

* Implement a temp DenyLocalLoginHandler

* Introducing a new Fobidden result

* Fix comment

* Introducing a helper class for authorizers

* Changed nullability for GetCurrentUser

* Changes from Attempt to Status + FIXME comments

* Create a UserGroupAuthorizationStatus to be used in the future

* Introduces a new authz status for checking media acess

* Introducing a new permission service for media

* Adding fixme

* Adding more policy configurations

* Adding Media policy requirement and handler

* Adding media authorizer

* Fix order of params

* Adding duplicate code comment

* Adding authz to media controllers

* Migrating more logic from MediaPermissions.cs

* Adding more MediaAuthorizationStatus-es

* Handling of new authorization status

* Fix comment

* Adding NotFound case

* Adding NewDenyLocalLoginIfConfigured policy && commenting [AllowAnonymous] where the policy is applied since it is already handled

* Changed Forbid() to Forbidden() to get the correct status code

* Remove policy that is applied on the base controller already

* Implement and apply NewUmbracoFeatureEnabled policy

* Renaming classes to add Permission in the name

* Register permission services

* Add FIXME

* Introduce new IUserGroupPermissionService and refactor accordingly

* Add single overload with default implementation

* Adding user permission policy and related

* Applying admin policy

* Register all new policies

* Better wording

* Add default implementation for a single overload

* Adding remarks to IContentPermissionService.cs

* Supporting null as key in ContentPermissionService

* Fix namespace

* Reverting back to not supporting null as content key, but having dedicated implementation

* Adding content authorizer with null values to represent root item

* Removing null key support and adding dedicated implementation

* Removing remarks

* Adding content resource with null support

* Removing null support

* Adding requirement and status

* Adding content authorizer + handlers

* Applying policies to content controllers

* Update comment

* Handling of Authorization Statuses

* More authz in controllers

* Fix comments

* New branch handler

* Obsolete old implementation

* Adding dedicated policies to root and bin

* Adding a branch specific namespace

* Bin specific requirement and namespace

* Root specific requirement and namespace

* Changing to new root policy

* Refactoring

* Save policies

* Fix null check/reference

* Add TODO comment

* Create media root- and bin-specific policies, handlers, etc.

* Apply correct policy in create and update media controllers

* Apply root policy to move and sort controllers

* Fix wording

* Adding UserGroupAuthorizationStatusResult

* Remove all AuthorizationStatusResult as we cannot get the specific AuthorizationStatus

* Fixing Umbraco feature policy

* Fix allow anonymous endpoints - the value returned from DenyLocalLoginHandler wasn't enough, we need to succeed DenyAnonymousAuthorizationRequirement as it is required for some of the endpoints that had the attribute

* Apply DenyLocalLoginIfConfigured policy to corresponding re-implementation of PostSetInvitedUserPassword

* Fix comment

* Renaming performingUser to user and fixing comments

* Rename helper method

* Fix references

* Re-add merge conflict deletion

* Adding Backoffice requirement and relevant

* Registering

* Added a simple policy test

* Fixed small test things and clean up

* Temp solution

* Added one more test and fix another static issue

* Fix another merge conflict

* Remove BackOfficePermissionRequirement and handler as they might not be necessary

* Comment out again [AllowAnonymous]

* Remove AuthorizationPolicies.BackOfficeAccessWithoutApproval policy as it might not be necessary

* Fix temp implementation

* Fix reference to correct handler

* Apply authz policy to new publish/unpublish controllers

* Fix comments

* Removing duplicate ProducesResponseTypes

* Added swagger documentation about the 401 and 403

* Added Resources to Media, User and UserGroup

* Handle root, recycle bin and branch in the same handler

* Handle both parent and target when moving

* Check Ids for all sort requests

* Xml docs

* Clean up

* Clean up

* Fix build

* Cleanup

* Remove TODO

* Added missing overload

* Use yield

* Adding some keys to check

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
Co-authored-by: Andreas Zerbst <andr317c@live.dk>
2023-12-11 08:25:29 +01:00
Kenn JacobsenandGitHub d752853d89 Fix disposed DbContext issue (#15090) (#15410) 2023-12-10 19:18:32 +01:00
Sebastiaan Janssen 422218ea15 Merge branch 'v13/dev' into contrib 2023-12-08 15:54:34 +01:00
Sebastiaan Janssen 6f582451ed Merge branch 'release/13.0' into v13/dev
# Conflicts:
#	version.json
2023-12-08 15:54:06 +01:00
Andreas ZerbstandSebastiaan Janssen 258ab59286 Updated the keys for adding a block list 2023-12-08 15:00:47 +01:00
Ronald BarendseandGitHub 9e96bba9bc Disable transitive package version pinning (#15406)
* Disable transitive package version pinning

* Take top-level dependencies on Azure.Identity and System.Net.Http

* Take top-level dependencies on System.Security.Cryptography.Xml and System.Text.RegularExpressions
2023-12-08 15:00:18 +01:00
Bjarke Berg cf2ec50d15 Merge remote-tracking branch 'origin/release/12.3.4' into v12/dev
# Conflicts:
#	version.json
2023-12-08 13:34:41 +01:00
Bjarke Berg 614cb5da20 Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2023-12-08 13:30:20 +01:00
Bjarke Berg 9e3f8c7d0c Merge remote-tracking branch 'origin/release/10.8' into v10/dev
# Conflicts:
#	version.json
2023-12-08 13:12:33 +01:00
Sebastiaan Janssen 75ec1f82ac Merge branch 'contrib' of https://github.com/umbraco/Umbraco-CMS into contrib 2023-12-08 12:42:39 +01:00
Sebastiaan Janssen 67c8f098a0 Add login screen to the readme 2023-12-08 12:42:29 +01:00
Zeegaan f65e76ba5a Bump version 2023-12-08 09:04:51 +01:00
Bjarne FyrstenborgandGitHub 87b8023f2c Fix typo in dictionary (#15380) 2023-12-07 17:51:28 +00:00
Nikolaj Geisle 4b5bbbd531 Change webhook-> logs to Deliveries 2023-12-07 15:23:21 +01:00
Nikolaj GeisleandGitHub b50353b238 V13: Log webhook firing exceptions when they happen (#15393)
* Refactor Webhook logging to handle exceptions

* Add Exception occured property to WebhookLog.
2023-12-07 14:25:26 +01:00
Nikolaj GeisleandGitHub d31bb14f57 Link to log on exception/error (#15391) 2023-12-07 12:11:38 +01:00
Nikolaj GeisleandGitHub 0534c5f776 Log retrycount and properly log request headers (#15390) 2023-12-07 12:10:19 +01:00
Bjarke BergandGitHub 1a93dae0c4 Ensure the toggles return booleans and not integers. (#15354) 2023-12-07 11:25:31 +01:00
Nikolaj GeisleandGitHub 80a6ec44ba Migrate url columms to NVarCharMax (#15331) 2023-12-07 10:26:55 +01:00
Jacob Overgaard f8b95e5c69 update backoffice submodule 2023-12-07 10:06:46 +01:00
4ff2572d78 Use named HttpClients (#15375)
* Use named HttpClients

* Register as named client

* Set headers on request message.

* Add User agent header to http client

* Add headers within Try-catch

* Add using for HttpResponseMessage

* Update src/Umbraco.Infrastructure/BackgroundJobs/Jobs/WebhookFiring.cs

Co-authored-by: Ronald Barendse <ronald@barend.se>

* Update src/Umbraco.Infrastructure/BackgroundJobs/Jobs/WebhookFiring.cs

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

* Log key instead of entire webhook

* Update src/Umbraco.Web.Common/DependencyInjection/UmbracoBuilderExtensions.cs

Co-authored-by: Ronald Barendse <ronald@barend.se>

* Create constant for User agent header name

* Update src/Umbraco.Infrastructure/BackgroundJobs/Jobs/WebhookFiring.cs

Co-authored-by: Ronald Barendse <ronald@barend.se>

* Use datetime.now

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Ronald Barendse <ronald@barend.se>
Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
2023-12-07 09:51:44 +01:00
Jacob Overgaard f5a49d87c3 update backoffice submodule 2023-12-06 15:32:47 +01:00
Bjarne FyrstenborgandSebastiaan Janssen b97564ba3a Fix console errors in content type editor with single block mode 2023-12-06 14:15:15 +01:00
dependabot[bot]andSebastiaan Janssen 4bea40dfb4 Bump vite from 4.5.0 to 4.5.1 in /src/Umbraco.Web.UI.Login
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 4.5.0 to 4.5.1.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v4.5.1/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v4.5.1/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-06 14:05:39 +01:00
Sebastiaan Janssen 5a159a756d Merge branch 'v13/dev' into contrib
# Conflicts:
#	global.json
#	src/Umbraco.Cms.StaticAssets/umbraco/UmbracoBackOffice/Default.cshtml
#	src/Umbraco.Cms.StaticAssets/wwwroot/App_Plugins/Umbraco.BlockGridEditor.DefaultCustomViews/umbBlockGridDemoRichTextBlock.html
#	src/Umbraco.Core/EmbeddedResources/Lang/da.xml
#	src/Umbraco.Core/EmbeddedResources/Lang/en.xml
#	src/Umbraco.Core/EmbeddedResources/Lang/fr.xml
#	src/Umbraco.Core/EmbeddedResources/Lang/tr.xml
#	src/Umbraco.Core/Models/PublishedContent/PublishedPropertyType.cs
#	src/Umbraco.Infrastructure/BackgroundJobs/Jobs/HealthCheckNotifierJob.cs
#	src/Umbraco.Infrastructure/BackgroundJobs/RecurringBackgroundJobHostedServiceRunner.cs
#	src/Umbraco.Web.Common/DependencyInjection/UmbracoBuilderExtensions.cs
#	src/Umbraco.Web.UI.Client/src/common/services/blockeditormodelobject.service.js
#	src/Umbraco.Web.UI.Client/src/common/services/editor.service.js
#	src/Umbraco.Web.UI/Startup.cs
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Login/login.spec.ts
#	tests/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/BackgroundJobs/Jobs/HealthCheckNotifierJobTests.cs
2023-12-06 13:06:30 +01:00
Sebastiaan Janssen 024a57e098 Merge branch 'v12/dev' into v13/dev
# Conflicts:
#	global.json
#	src/Umbraco.Cms.StaticAssets/umbraco/UmbracoBackOffice/Default.cshtml
#	src/Umbraco.Cms.StaticAssets/wwwroot/App_Plugins/Umbraco.BlockGridEditor.DefaultCustomViews/umbBlockGridDemoRichTextBlock.html
#	src/Umbraco.Core/EmbeddedResources/Lang/da.xml
#	src/Umbraco.Core/EmbeddedResources/Lang/en.xml
#	src/Umbraco.Core/EmbeddedResources/Lang/tr.xml
#	src/Umbraco.Core/Models/PublishedContent/PublishedPropertyType.cs
#	src/Umbraco.Infrastructure/BackgroundJobs/Jobs/HealthCheckNotifierJob.cs
#	src/Umbraco.Infrastructure/BackgroundJobs/RecurringBackgroundJobHostedServiceRunner.cs
#	src/Umbraco.Web.Common/DependencyInjection/UmbracoBuilderExtensions.cs
#	src/Umbraco.Web.UI.Client/src/common/services/blockeditormodelobject.service.js
#	src/Umbraco.Web.UI.Client/src/common/services/editor.service.js
#	src/Umbraco.Web.UI/Startup.cs
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Login/login.spec.ts
#	tests/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/BackgroundJobs/Jobs/HealthCheckNotifierJobTests.cs

(cherry picked from commit ef3f2c48198d8baed9d3340f926cd07e80720428)
2023-12-06 12:47:51 +01:00
Bjarke Berg 312276bde7 Bump version 2023-12-06 10:21:46 +01:00
Kenn JacobsenandGitHub 4e6b9af959 Allow specifying root access for user groups (#15364) 2023-12-06 10:18:32 +01:00
Kenn JacobsenandGitHub 370e1cc125 Media Picker 3 should not be used as a macro parameter (#15330) 2023-12-06 10:18:23 +01:00
Sebastiaan Janssen a31d4746b3 Merge branch 'contrib' into v12/dev 2023-12-06 10:00:22 +01:00
Bjarke Berg 9a54b5ed6e Merge remote-tracking branch 'origin/release/13.0' into v13/dev 2023-12-06 08:28:44 +01:00
Ronald BarendseandGitHub 8fefca557f Improve Central Package Management, update dependencies and fix package validation/MSBuild warnings (#15362)
* Use version overrides for ImageSharp 2

* Move Directory.Packages.props to root, use GlobalPackageReference and replace Microsoft.CSharp with Microsoft.CodeAnalysis.CSharp

* Replace NPoco.SqlServer with NPoco and remove unused System dependencies

* Fix package validation and MSBuild warnings

* Add nuget.config and enable package source mapping

* Remove explicitly set C# language version

* Add empty Directory.Packages.props file for acceptance test

* Downgrade SixLabors.ImageSharp back to 3.0.2 because of breaking changes

* Update ImageSharp/ImageSharp.Web to 3.1.0 and use ComputeHMAC
2023-12-06 08:19:46 +01:00
Richard OckerbyandLaura Neto 17eda54bfb Don't overwrite default values in the block list editor if they don't exist in the data model (for new creations) 2023-12-05 21:22:45 +01:00
Sebastiaan JanssenandGitHub a6b53b0a93 Fixing PR #15318 which updated an interface, which is breaking (#15363) 2023-12-05 16:49:55 +01:00
Jacob Overgaard 25e36871d7 use dotnet 8 2023-12-05 13:15:03 +01:00
Jacob Overgaard 1be548b680 Update nightly build (#15359)
* cherry-pick templateParameters from v14/dev

* add isNightly parameter

* remove v9

* add parameter check for myget isNightly
2023-12-05 13:11:15 +01:00
Jacob Overgaard 0a048d9231 Update nightly build (#15359)
* cherry-pick templateParameters from v14/dev

* add isNightly parameter

* remove v9

* add parameter check for myget isNightly
2023-12-05 13:01:19 +01:00
Jacob Overgaard d3f0506f0b Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2023-12-05 12:58:36 +01:00
Jacob Overgaard 051dfd1fff Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2023-12-05 12:57:47 +01:00
Jacob Overgaard 37e4d80ce8 Update nightly build (#15359)
* cherry-pick templateParameters from v14/dev

* add isNightly parameter

* remove v9

* add parameter check for myget isNightly
2023-12-05 12:45:23 +01:00
Sebastiaan Janssen 14a64857df Merge branch 'contrib' of https://github.com/umbraco/Umbraco-CMS into contrib 2023-12-05 12:41:21 +01:00
Jacob OvergaardandGitHub 79af9e8e2b Update nightly build (#15359)
* cherry-pick templateParameters from v14/dev

* add isNightly parameter

* remove v9

* add parameter check for myget isNightly
2023-12-05 12:38:14 +01:00
Sebastiaan Janssen 319d98ef23 Merge branch 'v12/dev' into contrib 2023-12-05 12:36:34 +01:00
Kenn JacobsenandGitHub e7279d2ff0 Add range filter options to the Delivery API (#15353)
* Add range filter options to the Delivery API

* Add range filter examples to Swagger docs
2023-12-05 11:01:25 +01:00
Jacob OvergaardandGitHub cd10d5840d V14: Publish Bellissima package to npm via Pipelines (#14926)
* ignore node_modules specifically to limit size of build_output

* build and publish backoffice artifacts

* instruct GitVersioning to output all variables such as npm to use in Pipelines

* use NBGV variables

* prepare npm package for nightlies

* instruct to deploy to MyGet for nightlies

* Deploy to npm only after Myget

* add public access to publish

* write scopes to .npmrc file

* add scope to registry.npmjs.org

* nightly param
2023-12-05 10:54:23 +01:00
Ronald BarendseandGitHub c598171d85 Change WebhookEventCollectionBuilder to set collection (#15351)
* Change WebhookEventCollectionBuilder to set collection

* Fix AddHealthCheck extension method
2023-12-05 10:33:47 +01:00
Ronald BarendseandGitHub 12a43c2406 v13: Update deploy types (add setter to ArtifactDependency.Checksum and TryGetValue()/GetEntityTypes() to IFileTypeCollection) (#15318) 2023-12-04 16:00:54 +01:00
Erik-Jan WestendorpandSebastiaan Janssen d5c137583d AddDynamicRootStep 2023-12-04 15:00:03 +01:00
Sebastiaan Janssen 941705b03d Revert "Grant all users access to the content recycle bin (#14977)"
This reverts commit ed006931a4.
2023-12-04 14:34:47 +01:00
Ronald Barendse 8a65c00279 Fix health check webhook event registration 2023-12-04 14:11:42 +01:00
Erik-Jan WestendorpandGitHub 80dcc04df0 Add HealthCheckCompletedWebhookEvent (#15337) 2023-12-04 14:04:57 +01:00
Ronald BarendseandGitHub c20d96c705 Use fluent API for adding webhook events and add document type events (#15345)
* Move adding webhooks to extension methods

* Clean up WebhookEventCollectionBuilder

* Rename AddAllAvailableWebhooks to AddCmsWebhooks and internalize defaults

* Use fluent CmsWebhookEventCollectionBuilder for adding CMS specific webhook events

* Split media and media type webhook events

* Use fluent CmsUserWebhookEventCollectionBuilder for adding CMS user specific webhook events

* Rename extension methods and add onlyDefault parameter

* Remove duplicate UserForgotPasswordRequestedWebhookEvent

* Add document type webhook events and use fluent builders for content and content types

* Use fluent WebhookEventCollectionBuilderCmsMember for adding member/member group webhook events

* Use fluent WebhookEventCollectionBuilderCmsTemplate for template/partial view webhook events

* Use fluent WebhookEventCollectionBuilderCmsFile for file based webhook events (instead of only template/partial view)

* Move all webhook events to Umbraco.Cms.Core.Webhooks.Events namespace

* Reorder AddFile method and update documentation
2023-12-04 13:25:51 +01:00
Ronald BarendseandGitHub da56f16abf Move helper methods for adding webhooks to extension methods (#15344)
* Move adding webhooks to extension methods

* Clean up WebhookEventCollectionBuilder

* Rename AddAllAvailableWebhooks to AddCmsWebhooks and internalize defaults
2023-12-04 10:58:11 +01:00
2a56d4e376 V12 Integration test for InternalIndex and ExternalIndex Search (#15167)
* Added the possibility for us to search through the external index

* Added ForceInstantExecution

* Added InternalIndex integration tests

* Added External Index integration tests

* Removed comments

* Remove unused internal field

* Add mechanism to wait for index rebuilding

* Remove some of the usages of sleep

* Remove sleeps

* Added comments from review

* Added a method for getting the IndexPath

---------

Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
2023-12-04 10:00:26 +01:00
kjac 55c901e2d7 Merge branch 'v13/dev' into release/13.0 2023-12-03 14:54:11 +01:00
Bjarne FyrstenborgandGitHub c6d01178c0 Update z-index of block actions (#15329) 2023-12-01 13:51:42 +00:00
Vitor Rodriguesandkjac a4b4107190 Expose the Delivery API CLR type (#15150)
* Expose the Delivery API CLR type

* Updated field naming and warnings

Addresses PR feedback

* Added default implementation to prevent breaking change

(cherry picked from commit 7f4378066d)
2023-12-01 13:50:18 +01:00
Vitor RodriguesandGitHub 7f4378066d Expose the Delivery API CLR type (#15150)
* Expose the Delivery API CLR type

* Updated field naming and warnings

Addresses PR feedback

* Added default implementation to prevent breaking change
2023-12-01 13:43:39 +01:00
Vitor RodriguesandGitHub d315a1082e Fixed potential NuCache file lock causing unusable website (#14940)
* Fixed potential NuCache file lock causing unusable website

* Remove unnecessary volatile read
2023-12-01 13:05:50 +01:00
48befe730b V14 QA Refactor code of Partial View acceptance tests (#15325)
* Refactor acceptance tests for Partial View

* Refactor api tests for Partial View

* Bumped version of Test Helper

* Added suggestion from review

* Bumped version to testhelpers 2.0.8

---------

Co-authored-by: Andreas Zerbst <andr317c@live.dk>
2023-12-01 11:20:57 +01:00
Ronald BarendseandGitHub 50baed151d Use version range on project references (#14719) 2023-12-01 11:12:18 +01:00
Jacob OvergaardandGitHub 8f497c8f7e V13 RC: Fix regression for external login providers (#15334)
* add check for the presence of the ?logout=true parameter on the login screen to avoid autoredirect to external login

* refactor controller to eliminate need for duplicate defaultResponse and externalLoginResponse (they are always the same)

* refactor to reduce nesting
2023-12-01 10:32:54 +01:00
Bjarne FyrstenborgandBjarke Berg da6aaa07db Don't change format in convertToLocalMomentTime (#15223)
(cherry picked from commit 963e57723a)
2023-12-01 10:03:23 +01:00
Kenn JacobsenandGitHub f9ecd9514e Management API should expose if a user group is a system group (#15333) 2023-12-01 09:39:27 +01:00
Bjarne FyrstenborgandSebastiaan Janssen 0a718b0585 Fix log message in Verify2FACode 2023-11-30 20:03:20 +01:00
Bjarne FyrstenborgandGitHub 8c23075ec5 Adjust content type picker to support different content types (#15080) 2023-11-30 19:38:56 +01:00
Bjarne FyrstenborgandGitHub 86d98658f1 Make Block List configuration consistent with Block Grid (#15087) 2023-11-30 19:29:06 +01:00
Søren MastrupandSebastiaan Janssen e947daff45 Added password toggle to Umbraco installer form 2023-11-30 19:27:55 +01:00
Bjarne FyrstenborgandGitHub ee8339d563 Add contentTypeEditor to editorService (#15034) 2023-11-30 19:25:03 +01:00
Jan SkovgaardandGitHub 7e26d09f77 Bugfix: #14481 - Landmark roles missing (#14980) 2023-11-30 19:21:48 +01:00
Matthew WiseandSebastiaan Janssen eaf07d2189 Added logging around adding a property value during examine indexing 2023-11-30 19:16:58 +01:00
Kevin FuandSebastiaan Janssen 1d5a684fd5 fixed #14832 user without HasAccessToSensitiveData change sensitive data: IsApproved IsApproved IsTwoFactorEnabled 2023-11-30 19:15:05 +01:00
Amalie WowernandSebastiaan Janssen c893027f7c Added ReSharperTestRunner to KnownAssemblyExclusionFilter 2023-11-30 19:08:17 +01:00
Anders BjernerandSebastiaan Janssen 71a3452361 Added [NotNullWhen(true)] attribute to IPublishedSnapshotAccessor and UmbracoContextPublishedSnapshotAccessor 2023-11-30 17:23:15 +01:00
Brett SmithandGitHub ecc31a308a Added BlockEditorDataConverter method to BlockListPropertyEditorBase … (#14960) 2023-11-30 17:21:09 +01:00
Michael LatoucheandGitHub 212b566214 Add webhook labels to FR file (#15183) 2023-11-30 16:07:15 +01:00
Erik-Jan WestendorpandGitHub feaac58027 localization for webhooks (#15191) 2023-11-30 16:05:38 +01:00
Ronald BarendseandSebastiaan Janssen e7f7492ce9 Configure Angular cookie using defaults from antiforgery options and fix logging 2023-11-30 16:02:17 +01:00
Erik-Jan WestendorpandGitHub c0e0e7bad8 Add HealthCheckCompletedNotification (#15276) 2023-11-30 15:53:05 +01:00
Warren BuckleyandGitHub d088ed8bf6 V13: Webhook all the things (#15161) 2023-11-30 15:41:45 +01:00
Kenn JacobsenandGitHub 42234cdd40 Move system information away from the User API (#15316)
* Move system information away from the User API

* Review comments
2023-11-30 14:29:16 +01:00
Bjarke BergandJacob Overgaard 320310fbc0 Added "pr: none" to nightly trigger (#15044) 2023-11-30 11:43:05 +01:00
Kenn JacobsenandGitHub 528b7d346a Rollback some #14816 changes to fix 2FA (#15317) 2023-11-30 11:32:49 +01:00
Kenn JacobsenandGitHub 016709eecd Add query string info to links in API output (#15327) 2023-11-30 10:36:53 +01:00
Kenn JacobsenandGitHub b596900246 Log meaningful job names and use template based log messages (#15307)
* Log meaningful job names and use template based log messages

* Review changes
2023-11-29 15:35:43 +01:00
6b599b641c Prevent RTE in fullscreen being partially covered by the left menu column (should fix #14890) (#15002)
* Should fix #14890

* Set z-index of #leftcolumn to 0 when Tiny MCE is in fullscreen mode

---------

Co-authored-by: Jannik Anker <jaa@kfforsikring.dk>
Co-authored-by: Jason Elkin <jason@bumpdigital.co.uk>
2023-11-29 14:59:20 +01:00
leekelleherandSebastiaan Janssen b74aadff97 Block editors - replaces hardcoded -20 with current node ID 2023-11-29 14:40:37 +01:00
a8dc058cb5 V13: Delivery API composite id handler (#15305)
* Implement DeliveryApiCompositeIdHandler

* Replace duplicate decomposing with Handler instead

* Add obsolete messages

* Make Id integer instead of string

* Move from examine to core

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-11-29 14:10:25 +01:00
Bjarke Berg 53d0057ac6 Update test dependencies 2023-11-29 12:46:28 +01:00
Kenn JacobsenandGitHub 88f907912b Cache block item constructors for block based editors (#15264)
* Cache block item constructors for block based editors

* Fix unit tests

* Fixed Grid unit tests

* Clear constructor caches when content types and data types change (to support InMemoryAuto models)
2023-11-29 12:27:07 +01:00
Kenn JacobsenandGitHub c9c234492b Add missing API version attributes to management API controllers (#15310) 2023-11-29 09:23:23 +01:00
Bjarke Berg ddf9f05a8f Merge remote-tracking branch 'origin/v13/dev' into v14/dev
# Conflicts:
#	src/Umbraco.Infrastructure/Migrations/Upgrade/UmbracoPlan.cs
#	tests/Umbraco.Tests.AcceptanceTest/package-lock.json
#	version.json
2023-11-28 15:18:24 +01:00
Bjarke Berg 17ea20ee3d Merge remote-tracking branch 'origin/v13/dev' into v14/dev
# Conflicts:
#	src/Umbraco.Cms.StaticAssets/umbraco/UmbracoBackOffice/Default.cshtml
#	src/Umbraco.Cms.StaticAssets/umbraco/UmbracoInstall/Index.cshtml
#	src/Umbraco.Cms.StaticAssets/umbraco/UmbracoLogin/Index.cshtml
2023-11-28 15:09:48 +01:00
Jacob Overgaard 98e2a1b897 update backoffice submodule 2023-11-28 13:54:03 +01:00
34d6695c89 Don't expect specific .NET feature versions - utilize rollForward instead. (#15304)
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-11-28 13:21:09 +01:00
Kenn JacobsenandGitHub 0a852aeb07 Don't expect specific .NET feature versions - utilize rollForward instead. (#15303) 2023-11-28 13:02:52 +01:00
Bjarke Berg 1f527fefd8 Merge remote-tracking branch 'origin/v12/dev' into v13/dev
# Conflicts:
#	build/azure-pipelines.yml
#	src/Umbraco.New.Cms.Infrastructure/Umbraco.New.Cms.Infrastructure.csproj
#	src/Umbraco.Web.UI.Client/package-lock.json
#	src/Umbraco.Web.UI.Client/package.json
#	tests/Umbraco.Tests.Integration/CompatibilitySuppressions.xml
2023-11-28 11:20:02 +01:00
Bjarke Berg 1176f04caf Updated pacakge-lock files 2023-11-28 09:45:07 +01:00
Bjarke Berg 280518c9d6 Merge remote-tracking branch 'origin/v11/dev' into v12/dev
# Conflicts:
#	build/azure-pipelines.yml
#	src/Umbraco.Cms.ManagementApi/Umbraco.Cms.ManagementApi.csproj
#	src/Umbraco.Infrastructure/Logging/Viewer/LogViewerConfig.cs
#	src/Umbraco.Web.UI.Client/.nvmrc
#	src/Umbraco.Web.UI.Client/package-lock.json
#	src/Umbraco.Web.UI.Client/package.json
2023-11-28 09:39:31 +01:00
Sven Geusens 87380902f0 Bump version 2023-11-28 09:35:34 +01:00
Sven GeusensandSven Geusens c73b7f42d9 Move localdb file management of PublishedSnapshotService into itself. (#15085)
* Move localdb file management of PublishedSnapshotService into itself.

Added a way for the PublishedSnapshot service to clean up it's local files so (for example) Upgrade migrations have a reliable way of removing known invalid cache files without running into locking issues

* Small rename to differentiate existing method from simple getter

* Fix breaking change

Long live default implementations 🎉

* Another breaking change fix

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
2023-11-28 09:31:11 +01:00
Jacob Overgaard 32493c759a add -login prefix to curves color 2023-11-28 08:48:55 +01:00
Jacob OvergaardandGitHub 8d76e32941 V13: Add more css custom properties to style the login screen (#15301)
* add more css custom properties to control the login screen

* add override for text color

* add variables to control the font-size of the headline
2023-11-28 08:37:59 +01:00
Bjarke Berg 008d797a66 Added <ManagePackageVersionsCentrally>false</ManagePackageVersionsCentrally> 2023-11-27 19:54:03 +01:00
Bjarke Berg ab781560bc Merge remote-tracking branch 'origin/v10/dev' into v11/dev
# Conflicts:
#	build/azure-pipelines.yml
#	src/Umbraco.Web.BackOffice/Controllers/ContentController.cs
#	src/Umbraco.Web.UI.Client/package-lock.json
#	src/Umbraco.Web.UI.Client/package.json
#	tests/Umbraco.Tests.AcceptanceTest/package-lock.json
2023-11-27 19:47:24 +01:00
Bjarke Berg 8d9343b564 Merge branch 'release/10.8' into v10/dev
# Conflicts:
#	version.json
2023-11-27 18:10:40 +01:00
Bjarke Berg 696b74cdb6 Merge branch 'release/10.8' into v10/dev 2023-11-27 18:08:30 +01:00
92a864077b Fixed filter queries for numeric and date based filters (#15286)
Co-authored-by: Elitsa <elm@umbraco.dk>
2023-11-27 14:53:34 +01:00
Zeegaan 7443dd2bdc bump version 2023-11-27 10:36:56 +01:00
bfe8b715d8 V13: Change request column to NVarcharMax (#15252)
* Change request column to NVarcharMax

* Rename migration

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-11-27 09:06:00 +01:00
Zeegaan be443189e1 Merge branch 'v13/dev' into release/13.0
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/views/webhooks/overlays/details.html
2023-11-27 08:26:41 +01:00
SteveandGitHub ade61f7ec5 Add missing translations in EN (#15257)
And remove the ones that don't exist anymore in the leading dictionary EN-US.
2023-11-23 16:55:19 +00:00
d6f0c33d83 V14 added acceptance tests for the Stylesheets (#15265)
* Added acceptance test for Stylesheets

* Updated api test for stylesheet using new helpers and apply AAA pattern

* Bumped version of Test Helpers

* Updated api and ui tests of Stylesheet after modifying TestHelper

* Updated stylesheets ui tests using openActionMenuAtRoot()

* Added suggestions from review

* Added wait for the flaky tests

* Fixed package-lock.json

---------

Co-authored-by: Andreas Zerbst <andr317c@live.dk>
2023-11-23 09:33:51 +01:00
Jacob OvergaardandGitHub 3b518050bd V13: Login page backwards compatibility (#15285) 2023-11-23 08:45:49 +01:00
5ad400184a Fix IWebhook.GetUdi() and IEntity.GetUdi() extension methods (#15288)
* Fix IWebhook and IEntity GetUdi extension method

* Refactor to use switch expressions

* Add GetUdiForWebhook test

* Added a webhook builder for unit tests.

---------

Co-authored-by: Andy Butland <abutland73@gmail.com>
2023-11-23 08:02:57 +01:00
Yuval-AmidrorandGitHub e80d117a2a Redirect is broken with Hebrew chars on Linux (#15261)
* add HttpUtility.UrlPathEncode encode so paths that are not in english will not throw errors of NON-ASCII characters

* remove unnecessary using
2023-11-22 23:43:18 +00:00
dependabot[bot]andJason Elkin 1dacab8b9a Bump axios and wait-on in /tests/Umbraco.Tests.AcceptanceTest
Bumps [axios](https://github.com/axios/axios) to 1.6.2 and updates ancestor dependency [wait-on](https://github.com/jeffbski/wait-on). These dependencies need to be updated together.


Updates `axios` from 0.25.0 to 1.6.2
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.25.0...v1.6.2)

Updates `wait-on` from 6.0.1 to 7.2.0
- [Release notes](https://github.com/jeffbski/wait-on/releases)
- [Commits](https://github.com/jeffbski/wait-on/compare/v6.0.1...v7.2.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: indirect
- dependency-name: wait-on
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-22 22:29:39 +00:00
Bjarne FyrstenborgandJason Elkin 58e693a75d Fix typo in umbImageGravity 2023-11-22 21:53:24 +00:00
1c2602f57c Dynamic root with culture and segment (#15287)
* parse culture and segment for dynamic root.

* Handle new culture and segment parameters

---------

Co-authored-by: Niels Lyngsø <niels.lyngso@gmail.com>
2023-11-22 19:58:06 +01:00
Jacob Overgaard e04b015026 update backoffice submodule 2023-11-22 16:19:55 +01:00
bcd386ac70 V13: Fix missing contenttype in webhook (#15282)
* Create missing node for content type

* Change to Unknown instead of deleted

* Cleared contentTypes and removed console.log

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Andreas Zerbst <andr317c@live.dk>
2023-11-22 13:54:11 +01:00
012b43a1c2 Publishing in the Management API (#14774)
* make CoreScopeProvider available for derived classes

* Create publish controller

* Add publish functionality

* Remove unneeded using

* Implement publish for multiple cultures

* support multiple cultures in controler

* Dont validate properties

* Refactor to use PublishingOperationStatus

* refactor to use proper publish async methods

* Refactor publish logic into own service

* Commit some demo code

* Add notes about what errors can happen when publishing

* Rework ContentPublishingService and introduce explicit Publish and PublishBranch methods in ContentService

* Fix merge

* Allow the publishing strategy to do its job

* Improved check for unsaved changes

* Make the old content controller work (as best possible)

* Remove SaveAndPublish (SaveAndPublishBranch) from all tests

* Proper guards for invalid cultures when publishing

* Fix edge cases for property validation and content unpublishing + add unpublishing to ContentPublishingService

* Clear out a few TODOs - we'll accept the behavior for now

* Unpublish controller

* Fix merge

* Fix branch publish notifications

* Added extra test for publishing unpublished cultures and added FIXME comments for when we fix the state of published cultures in content

---------

Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-11-22 12:52:08 +01:00
ErikandGitHub d34be8ce34 Improved punctuation and sentence structure for better readability. (#15279)
* Improved punctuation and sentence structure for better readability.

* To be coherent with the rest of the written text
2023-11-22 10:11:33 +01:00
Bjarke Berg 6aca62b202 Bump version 2023-11-22 08:22:07 +01:00
Elitsa MarinovskaandGitHub 42dd2da579 V14: Allowing custom backoffice host with CORS policy (#15269)
* Allowing custom backoffice host with CORS policy

* Adding missing allow
2023-11-21 15:49:29 +01:00
b499660101 V13 Bugfix. Added backend validation for checking if a webhook has any events (#15272)
* Added a webhookOperationStatus for noEvents

* Added a method for validating Webhooks. Currently checks if the webhooks has any events or not

* Added WebhookOperationStatus for NoEvents

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

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

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

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

---------

Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2023-11-21 14:49:40 +01:00
8755703845 V13: Implement webook as i entity (#15267)
* Add webhook service to service context

* Refactor webhooks to implement IEntity

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-11-21 14:38:47 +01:00
4c3b4752db V13: Change WebhookLog status for clarity (#15247)
* Refactor to show icon and status code to make status more clear

* Fix up migration

* Add change log status migration

* Fix up frontend to display cross when fail

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-11-21 13:55:52 +01:00
Ronald Barendse 4b60394488 Update ImageSharp2 dependency and add upper version limit 2023-11-21 13:35:36 +01:00
Ronald BarendseandGitHub 524b5ef700 Merge pull request #15268 from umbraco/v13/improvement/update-dependencies
Update and remove unnecessary package dependencies
2023-11-21 13:12:20 +01:00
Ronald Barendse 4b602dc8e2 Fix incorrect merge resolution of package dependencies 2023-11-21 12:08:51 +01:00
Ronald Barendse 28550b88c8 Remove implicitly set EmbedUntrackedSources property 2023-11-21 11:39:04 +01:00
Ronald Barendse 40dd163e3a Update to Microsoft.ICU.ICU4C.Runtime 72.1.0.3 2023-11-21 10:52:25 +01:00
Ronald Barendse e22c43b471 Update to Serilog 8.0.0 2023-11-21 10:51:03 +01:00
Ronald Barendse 49fc7f9786 Update to OpenIddict 4.10.0 2023-11-21 10:51:02 +01:00
Ronald Barendse a77b77d98a Remove AngleSharp package reference 2023-11-21 10:51:02 +01:00
Ronald Barendse 93c46b1d10 Remove explicit SourceLink package reference (included in .NET 8 SDK) 2023-11-21 10:50:52 +01:00
Ronald BarendseandGitHub 48bfbb00cd Clear cached PublishedDataTypes when content types are updated (#15253)
* Clear cached PublishedDataTypes when content types are updated

* Optimize published data type cache initialization
2023-11-21 10:28:26 +01:00
Bjarne FyrstenborgandZeegaan 3ff6bd191a V13: Webhook logs formatting (#15246)
* Use code snippet component for request and response

* Change overlay size to medium

* Format log date

* Handle JS as JavaScript

* Try format JSON

* Update less syntax

* Add word wrap

* Formatting

* Update variable

* Remove unused editorService

* Add missing details controller and fix formatting in catch block

* Set data object

* Update overlay size to match umb-editor overlay

* Use editorService instead to show details on overlay

* Add general box header

(cherry picked from commit 13db9b308e)
2023-11-21 09:30:02 +01:00
Bjarne FyrstenborgandGitHub 13db9b308e V13: Webhook logs formatting (#15246)
* Use code snippet component for request and response

* Change overlay size to medium

* Format log date

* Handle JS as JavaScript

* Try format JSON

* Update less syntax

* Add word wrap

* Formatting

* Update variable

* Remove unused editorService

* Add missing details controller and fix formatting in catch block

* Set data object

* Update overlay size to match umb-editor overlay

* Use editorService instead to show details on overlay

* Add general box header
2023-11-21 09:24:48 +01:00
Kenn JacobsenandGitHub a4c7047a50 Add output caching to the Delivery API (#15216) 2023-11-20 11:01:36 +01:00
dependabot[bot]andJacob Overgaard 7dcef22702 Bump tinymce from 6.7.1 to 6.7.3 in /src/Umbraco.Web.UI.Client
Bumps [tinymce](https://github.com/tinymce/tinymce/tree/HEAD/modules/tinymce) from 6.7.1 to 6.7.3.
- [Changelog](https://github.com/tinymce/tinymce/blob/develop/modules/tinymce/CHANGELOG.md)
- [Commits](https://github.com/tinymce/tinymce/commits/6.7.3/modules/tinymce)

---
updated-dependencies:
- dependency-name: tinymce
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-20 10:17:27 +01:00
dependabot[bot]andJacob Overgaard 6587ecac2d Bump tinymce from 6.7.1 to 6.7.3 in /src/Umbraco.Web.UI.Client
Bumps [tinymce](https://github.com/tinymce/tinymce/tree/HEAD/modules/tinymce) from 6.7.1 to 6.7.3.
- [Changelog](https://github.com/tinymce/tinymce/blob/develop/modules/tinymce/CHANGELOG.md)
- [Commits](https://github.com/tinymce/tinymce/commits/6.7.3/modules/tinymce)

---
updated-dependencies:
- dependency-name: tinymce
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-20 10:10:42 +01:00
dependabot[bot]andJacob Overgaard bb9a8fc3be Bump tinymce from 6.7.1 to 6.7.3 in /src/Umbraco.Web.UI.Client
Bumps [tinymce](https://github.com/tinymce/tinymce/tree/HEAD/modules/tinymce) from 6.7.1 to 6.7.3.
- [Changelog](https://github.com/tinymce/tinymce/blob/develop/modules/tinymce/CHANGELOG.md)
- [Commits](https://github.com/tinymce/tinymce/commits/6.7.3/modules/tinymce)

---
updated-dependencies:
- dependency-name: tinymce
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-20 10:09:53 +01:00
Jacob OvergaardandGitHub 8447123ef3 V13: Allow external login custom views to see where they are being shown (#15251)
* fix: make sure isTimedOut state is forwarded to the login screen

* fix: make umb-custom-view work without attributeChangedCallback

* style subheadline

* add support for userViewState on external login custom views

* fix: subheadline should be a span

* check for isTimedOut on internal login screen

* reformat code

* add args to external login provider custom view

* send args to custom view

* set state to "logout" when clicking the logout button

* force user to new login page /umbraco/login?logout=true if logged out
2023-11-20 08:52:20 +01:00
Erik-Jan WestendorpandGitHub 7bad6b9fd8 Fix button styling in block list & block grid overlay (#14929)
* Update blocklist.blockconfiguration.overlay.less

Change noValue color

* Update blockgrid.blockconfiguration.overlay.less

Change noValue color for block-grid
2023-11-17 15:53:08 +00:00
Jacob Overgaard 77288caeed Revert change to user dialog that accidentally removed user dashboards 2023-11-17 15:59:29 +01:00
dependabot[bot]andJacob Overgaard d709994c61 Bump tinymce from 6.7.1 to 6.7.3 in /src/Umbraco.Web.UI.Client
Bumps [tinymce](https://github.com/tinymce/tinymce/tree/HEAD/modules/tinymce) from 6.7.1 to 6.7.3.
- [Changelog](https://github.com/tinymce/tinymce/blob/develop/modules/tinymce/CHANGELOG.md)
- [Commits](https://github.com/tinymce/tinymce/commits/6.7.3/modules/tinymce)

---
updated-dependencies:
- dependency-name: tinymce
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-17 14:54:32 +01:00
89cdba6b23 V13: login screen design refresh (#15037)
* add new login images

* layout styling

* styling

* fix line height

* use image and logo

* add comments

* remove border and shadow

* change logos and images

* use styleMap and add dark logo property

* add new content setting for dark logo variant

* add loginLogoImageDark to angular server variables

* set logo-dark attribute on the auth element and rename "logo-image" to "logo-light"

* styling

* update auth element

* replace logo files with new brand logos

* use different logo on install screen

* no-nodes: move logo to img file

* use different logo for umb-avatar

* use different logo for backoffice

* use different logo for BootFailed

* tranparent background

* switch dark and light logo

* image flip horizontal

* fix background

* inject native inputs into auth element

* use native inputs in login

* get input values and submit on enter press

* wip validation

* wip custom login input. And inject entire form instead

* use external submit button

* use uui-labels instead

* style inputs

* cleanup

* convert to function

* add translations

* wait for slot update before getting form

* fix divider to work on transparent backgrounds

* background less transparent

* load css from file

* fix logo

* fix mobile padding

* add documentation and fix name of input field for username

* revert to old login background

* revert to old login background

* add labels for login fields

* fix label warning

* fix fallback for messages

* replace background image

* do not transform background image

* add mocked texts

* use new generic "Welcome" title

* use correct user_email for email field

* update "Welcome..." to "Welcome" to use with the new login screen

* reformat code

* update greeting headline

* update actions

* update mocks

* update fallback value

* update texts

* improve query safety

* add logoImageAlternative and ensure naming is correct from backend to frontend

* add remarks to avoid changing the color configuration of an external login button

* format

* update auth styles

* external login provider element

* auth layout

* external login providers layout

* login input element

* invite page

* login page

* new password page

* typesafe

* fix custom view login provider

* divider color

* prevent pink lines from overflowing image

* replace login background

* add umb prefix to css variables

* avoid using 'umbraco' in alt texts and add check for logo alternative

* adjust greeting size

* Revert "add umb prefix to css variables"

This reverts commit 005813cbfd.

* add new blue button color

* font-size on headlines

* align styling on all pages

* use error layout

* ts happy

* adjust divider to work better with rounded buttons

* add overflow to in case of very long forms

* adjust h2 size

* update mocks to match cms

* first headline on a page should be a h1

* first headline on a page should be a h1

* first headline on a page should be a h1

* copy styling to mfa page

* first headline on a page should be a h1

* make the blue logo default for Umbraco 13

* move background-color to auth-layout so it also takes effect inside the cms

* adjust padding on the internal div on the buttons

* reformat code

* fix async text for external login buttons

* align design of mfa page with the other screens

* align logos

* reformat code

* use white logo for nonodes

* add safety measure to returnPath

* lowercase the 'or' text

* force uui-select to use the background-color as other regular inputs

* match uui-select-height with other input fields

* revert back to default look for outline uui-button

* move background-color to layout element to span the entire browser

* align headlines across components

* adjust max-width on #content to better fit headlines

* align line-height on headlines across components

* allow error text a bit of top margin

---------

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
2023-11-17 14:53:58 +01:00
Nikolaj GeisleandGitHub 0085f9862e V13: Fix proper serialization of webhook object (#15248)
* deserialize object again before firing

* Dont serialize and already serialized object

* Update to use constant instead of hard coded string
2023-11-17 14:35:43 +01:00
Nikolaj GeisleandGitHub a60ea1f49d V13: Fix AddWebhookDatabaseLock migration (#15250)
* Change to proper constant

* Update with comments
2023-11-17 14:14:41 +01:00
Elitsa MarinovskaandGitHub 8274822577 V14: Start using user group permission service (#15200)
* Adding a replacement to IUserGroupAuthorizationService

* Replacement for the implementation as well

* Adding AuthorizationStatus & mapping it to the corresponding OperationStatus

* Fix references

* Fix another reference

* Fix statuses

* Fix status result messages

* Fix wording

* Moving check for user part of user group earlier

* Review suggestion

* Fix section name
2023-11-17 11:52:29 +01:00
Kenn JacobsenandBjarke Berg 92c23eceae Ensure content types are updated in ContentStore when a data type changes (#15239) 2023-11-17 10:37:56 +01:00
Kenn JacobsenandGitHub f286b1168c Ensure content types are updated in ContentStore when a data type changes (#15239) 2023-11-17 10:26:59 +01:00
Nhu DinhandGitHub dc79b84700 V14 added acceptance tests for the Partial Views (#15210)
* add UI acceptance tests for Partial Views

* Added additional timeout

* fixed comments

* Fixed suggestions from review
2023-11-17 08:24:31 +01:00
Andreas ZerbstandGitHub 8b5717500d V14 QA added Scripts acceptance tests (#15212)
* Updated api script tests for using new helpers and the AAA pattern

* Added acceptance tests for the scripts

* updated naming

* Bumped version of testHelpers

* Added suggestions from review
2023-11-17 10:11:43 +07:00
Jacob Overgaard 549b219a8b update backoffice submodule 2023-11-16 15:24:32 +01:00
Jacob Overgaard 30ee7ae045 update backoffice submodule 2023-11-16 15:23:41 +01:00
960d70ec54 V13: Webhook logging cleanup (#15198)
* Add log cleanup settings

* Start implementation of WebhookLoggingCleanup

* Add WebhookLog database locks

* Refactor repository to allow cleanup

* Refactor WebhookLoggingCleanup to fix bugs

* FIx up tests

* WebhookLoggingCleanup PR review suggestions

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Sven Geusens <sge@umbraco.dk>
2023-11-16 13:49:05 +01:00
Bjarne FyrstenborgandGitHub 93415a9957 Click row on dictionary list (#15194) 2023-11-16 12:34:17 +01:00
Bjarne FyrstenborgandGitHub 963e57723a Don't change format in convertToLocalMomentTime (#15223) 2023-11-16 10:38:53 +01:00
Bjarke Berg 5b3e9c580a Merge remote-tracking branch 'origin/v13/dev' into v14/dev
# Conflicts:
#	version.json
2023-11-16 09:12:01 +01:00
Bjarke Berg 696867b305 Merge remote-tracking branch 'origin/v14/dev' into v14/dev
# Conflicts:
#	src/Umbraco.Infrastructure/Migrations/Upgrade/UmbracoPlan.cs
2023-11-16 09:08:30 +01:00
Bjarke Berg eb0c1cd4a9 Merge remote-tracking branch 'origin/release/13.0' into v13/dev 2023-11-16 09:07:36 +01:00
Andy ButlandandGitHub ead7741ee2 Updated rich text parser interfaces to support context cache. (#15220) 2023-11-16 06:33:36 +01:00
Bjarke Berg ab2ebba690 remove imagesharp reference 2023-11-15 12:05:19 +01:00
Bjarke Berg 73eb9e04da bump version 2023-11-15 12:05:09 +01:00
Vitor RodriguesandNikolaj Geisle 44c3c3741e Fix potential NullReferenceException 2023-11-15 11:49:36 +01:00
Bjarke Berg 6f139ced53 Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2023-11-15 09:37:40 +01:00
Bjarke Berg ecb1b3b9ac Merge remote-tracking branch 'origin/release/12.3' into v12/dev
# Conflicts:
#	version.json
2023-11-15 09:36:10 +01:00
Bjarke BergandGitHub d2ff2ea46e Bugfix: Count existing media correct (#15206)
* https://github.com/umbraco/Umbraco-CMS/issues/15205
Count media correct

* Fix content should be document
2023-11-15 09:34:27 +01:00
Bjarke BergandGitHub 65b7967fed Updated to .NET 8 final (#15204) 2023-11-15 09:29:50 +01:00
Bjarke BergandGitHub 28e8ac11f0 Added scope.complete in edge cases. (#15207) 2023-11-15 09:03:08 +01:00
Erik-Jan WestendorpandGitHub c7e5d94f45 Dynamic root feature translations (Dutch) (#15109)
* Fix typo

* Add Dutch translations
2023-11-15 08:39:01 +01:00
Andreas ZerbstandBjarke Berg b8a1c42660 V12 Bugfix, Added compare provider name extension for Sqlite (#15189)
* Created an extension for comparing the current and the outdated providerName for Sqlite

* Added usages for the CompareProviderNames

* Added another case if the providerName is the outdated SQLite

* Both cases use Sqlite, so there is no need to have duplicate code

(cherry picked from commit d0cd22b09d)
2023-11-14 20:39:33 +01:00
Andreas ZerbstandGitHub d0cd22b09d V12 Bugfix, Added compare provider name extension for Sqlite (#15189)
* Created an extension for comparing the current and the outdated providerName for Sqlite

* Added usages for the CompareProviderNames

* Added another case if the providerName is the outdated SQLite

* Both cases use Sqlite, so there is no need to have duplicate code
2023-11-14 20:38:18 +01:00
Bjarke Berg 8ffddb77ff Bump version 2023-11-14 18:55:52 +01:00
Bjarke Berg 60644fadc0 Update global.json 2023-11-14 13:27:50 +01:00
Bjarke Berg fb55e1b244 Merge remote-tracking branch 'origin/v13/dev' into v14/dev
# Conflicts:
#	src/Umbraco.Core/DependencyInjection/UmbracoBuilder.cs
#	src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.Repositories.cs
#	src/Umbraco.Infrastructure/Migrations/Upgrade/UmbracoPlan.cs
#	src/Umbraco.Infrastructure/PropertyEditors/MultiUrlPickerValueEditor.cs
2023-11-14 13:22:10 +01:00
Bjarke Berg 039543ab43 Post merge 2023-11-14 13:19:55 +01:00
Bjarke Berg 2402d2f8f1 Merge remote-tracking branch 'origin/v12/dev' into v13/dev
# Conflicts:
#	src/Umbraco.Infrastructure/PropertyEditors/RichTextPropertyEditor.cs
2023-11-14 13:17:47 +01:00
Bjarke Berg 46d5db51e8 Post merge fix 2023-11-14 13:16:51 +01:00
c5c8a59736 Allow ID for a new dictionary-item to be specified (#15187)
* Allow ID for a new dictionary-item to be specified

* PR: Pattern matching hotness

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

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2023-11-14 13:01:59 +01:00
Bjarke Berg 80631e77c9 Post merge fixes with versions and updated nuget packages 2023-11-14 12:49:02 +01:00
Bjarke Berg c22783e45e Merge remote-tracking branch 'origin/release/13.0' into v13/dev 2023-11-14 12:43:11 +01:00
Mads RasmussenandGitHub 7d9db0ab30 update import map for data type (#15199) 2023-11-14 12:27:35 +01:00
Bjarke Berg a1c527dcbd Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2023-11-14 12:03:09 +01:00
4d98937af9 Delivery API nested property expansion and output limiting (#15124)
* V2 output expansion + field limiting incl. deprecation of V1 APIs

* Performance optimizations for Content and Block based property editors

* A little formatting

* Support API versioning in Delivery API endpoint matcher policy

* Add V2 "expand" and "fields" to Swagger docs

* Renamed route for "multiple items by ID"

* Review changes

* Update src/Umbraco.Cms.Api.Delivery/Controllers/Media/ByIdMediaApiController.cs

Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>

* Update src/Umbraco.Cms.Api.Delivery/Filters/SwaggerDocumentationFilterBase.cs

Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>

* Update src/Umbraco.Cms.Api.Delivery/Filters/SwaggerDocumentationFilterBase.cs

Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>

* Revert "Performance optimizations for Content and Block based property editors"

This reverts commit 0d5a57956b.

* Introduce explicit API cache levels for property expansion

* Friendly handling of bad expand/fields parameters

---------

Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
2023-11-14 11:16:12 +01:00
Bjarke Berg 97d8039a21 Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2023-11-14 10:52:06 +01:00
Bjarke Berg 97aa623e87 Fixed smalled things due to nullable refernece types 2023-11-14 10:51:06 +01:00
Bjarke Berg 737104624e Fixed reference 2023-11-14 09:56:34 +01:00
Bjarke Berg 162a6a0085 Post merge 2023-11-14 09:39:39 +01:00
Bjarke Berg cea6c3f20e Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2023-11-14 09:31:25 +01:00
Bjarke Berg 74f06bd6bd Merge remote-tracking branch 'origin/release/13.0' into v13/dev 2023-11-14 09:30:53 +01:00
Bjarke Berg 2cf2176613 Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2023-11-14 09:30:15 +01:00
Bjarke Berg 4a8ffd1b37 Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2023-11-14 09:29:59 +01:00
Bjarke Berg a17e398f28 Merge remote-tracking branch 'origin/release/10.8' into v10/dev 2023-11-14 09:29:36 +01:00
Bjarke Berg 9af9dd2c02 Merge remote-tracking branch 'origin/release/10.8' into v10/dev 2023-11-14 09:29:09 +01:00
Bjarke Berg 24fef823ba Merge branch 'release/12.3' into v12/dev
# Conflicts:
#	version.json
2023-11-14 09:28:24 +01:00
Bjarke Berg 2b7785fcd3 https://github.com/umbraco/Umbraco-CMS/issues/15195 Fixed issue with media not cached correct (#15196) 2023-11-14 09:14:39 +01:00
Bjarke Berg d112ba5e40 Bump version 2023-11-14 09:11:58 +01:00
Bjarke Berg fee9bf12c0 Updated nuget packages 2023-11-13 18:56:57 +01:00
Bjarke Berg 633f649be9 Merge remote-tracking branch 'origin/v11/dev' into v12/dev
# Conflicts:
#	src/Umbraco.Cms.ManagementApi/Umbraco.Cms.ManagementApi.csproj
#	src/Umbraco.Infrastructure/Cache/DistributedCacheBinder_Handlers.cs
2023-11-13 18:40:11 +01:00
Bjarke Berg 74cfd9c9a0 Updated nuget packages 2023-11-13 18:38:15 +01:00
0e8c92a6e7 V13: Refactor webhookservice to attempt pattern (#15180)
* Refactor IWebhookService to attempt pattern

* Remove unwanted file

* Fix up tests

* Fix after merge

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-11-13 18:36:05 +01:00
Bjarke Berg d6751e2832 Merge remote-tracking branch 'origin/v10/dev' into v11/dev
# Conflicts:
#	version.json
2023-11-13 18:30:50 +01:00
Bjarke Berg abfa07367f Bump version 2023-11-13 18:06:41 +01:00
46df3a05a7 V13: request queueing (#15176)
* Implement persistence

* Start implementing repository

* Implement repository

* Implement request service

* Dont run WebhookFiring if not in runtime mode run

* Refactor repository and service to have full CRUD

* add tests for Request service

* Implement WebhookRequest lock

* Register hosted service

* Add try catch when firing HttpRequest

* Add migration

* Refactor to use renamed IWebhookService

* Refactor tests too

* Add setting to configure webhook firing period

* Update docs

* Review fixes

* Add column renaming migration

* Remove unused service

* run request in parralel

* Refactor to fire parallel in background

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-11-13 15:49:02 +01:00
Bjarke BergandGitHub 16a27a4c52 use header value instead if present to set culture on request (#15168) 2023-11-13 13:33:02 +01:00
Bjarke Berg 261586f14f Merge branch 'v13/dev' into release/13.0 2023-11-13 12:47:31 +01:00
Andrew McKaskillandBjarke Berg 04ac1542aa Refactor hostedServices into background jobs (#14291)
* Refactor jobs from HostedServices into BackgroundJobs

* Clean up generics and DI setup

* Add RecurringBackgroundJob Unit Tests

* Add ServiceCollection helper

* Add Obsolete attributes

* Add Notification Classes

* Add UnitTests for RecurringBackgroundJob HostedService

* Add NotificationEvents

* Add state to notifications

* Update UnitTests

* Add Obsolete Attributes to old hosted service classes

* Updated xmldoc in IRecurringBackgroundJob.cs

* Update Obsolete attribute messages to indicate classes will be removed in Umbraco 14

(cherry picked from commit c30ffa9ac3)
2023-11-13 11:10:58 +01:00
Bjarne FyrstenborgandGitHub 1d43a67934 Add edit page for webhook (#15175)
* Add edit page for webhook

* Remove function again

* Remove old edit in overlay

* Update language keys

* Update GetByKey to get model as camel case properties

* Localize "select event"

* Localize "create header"

* Don't show input field in header for now

* Add generic class to limit property editor width

* Remove loading check since already checked when loading entire editor view

* Add empty message

* Update col span

* Set edit name

* Map id property

* Return webhook model after update

* Translate speech bubble text

* Resolve content types

* Only push if not already exists

* Check webhook headers

* Set webhook enabled by default
2023-11-13 10:14:40 +01:00
Andreas ZerbstandGitHub 3d6c5850dc V14 added test for the Templates (#15179)
* Updated existing locator as it was prone to failing

* Removed old tests from earlier versions

* Added a timeout and an await. This was because the locator sometimes failed

* Added missing import for crypto

* Updated locator as it sometimes failed.

* Updated the README to include information for using the UI mode for playwright

* Bumped the timeout time for our tests

* We updated the naming for out methods in our testHelpers, so we need to update the usage as well

* Added additional timeout

* Updated the config so it is easier to understand what you need to input

* Added UI acceptance tests for templates

* Added types/node, allows us to use crypto. Updated the testhelpers to use the newest version.

* fixed error with testhelper dependency

* Bumped testhelper version

* Moved to settings instead of templating
2023-11-13 09:36:23 +01:00
e48e7ff146 Add [SpecialType] attributes to request & response (#15103)
Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-11-13 09:11:11 +01:00
Kenn JacobsenandGitHub 589c74e918 Data type icons should not be served from the Management API (#15155)
* Remove data type icons from management API output and add editor UI alias instead

* Update OpenApi.json
2023-11-10 14:17:50 +01:00
Nikolaj GeisleandGitHub 7c87743191 Add Auth attribute to controller (#15178) 2023-11-10 14:14:32 +01:00
Jacob Overgaard a0ff997ab0 Merge remote-tracking branch 'origin/v13/dev' into v14/dev 2023-11-10 13:49:54 +01:00
Jacob Overgaard f4cb7e71fa Cherry-picked c03df2b74e into v13/dev 2023-11-10 13:45:00 +01:00
Jacob Overgaard 81caf2b384 V14: make v13 login screen work initially with Management API (#15170)
* make the login check a bit more robust to be able to handle both old postlogin and new management api response types

* v14 only: update the login url to work with the management api (this will still work with the old backoffice to some extent)

* Revert "v14 only: update the login url to work with the management api (this will still work with the old backoffice to some extent)"

This reverts commit 0639ca80f0.

* V14 only: additionally authenticate with the Management API to set the right cookies
2023-11-10 13:42:28 +01:00
Jacob OvergaardandGitHub c03df2b74e V14: make v13 login screen work initially with Management API (#15170)
* make the login check a bit more robust to be able to handle both old postlogin and new management api response types

* v14 only: update the login url to work with the management api (this will still work with the old backoffice to some extent)

* Revert "v14 only: update the login url to work with the management api (this will still work with the old backoffice to some extent)"

This reverts commit 0639ca80f0.

* V14 only: additionally authenticate with the Management API to set the right cookies
2023-11-10 13:38:08 +01:00
Erik-Jan WestendorpandGitHub 31678bb676 Translate webhooks keys to Dutch (#15091) 2023-11-10 10:41:31 +01:00
Andy ButlandandGitHub 8f8302358a Added notifications to the webhook service (#15174)
* Added webhooks to UdiEntityTypes and UdiGetterExtensions.

* Renamed IWebhookservice and amended signature of CreateAsync to allow returning of null.
Added notifications for webhooks.

* Further renames.

* Fixed failing unit test.

* Removed inadvertently added file.
2023-11-10 10:17:36 +01:00
Ronald BarendseandGitHub b8f5078135 Improve logging of invalid reference relations (#15160)
* Include automatic relation type aliases from factory

* Remove unnessecary distinct and fix SQL parameter overflow issue

* Fixed assertions and test distinct aliases

* Simplified collection assertions

* Improve logging of invalid reference relations
2023-11-10 09:07:10 +01:00
e143133bcf V13: Update IWebHookService to proper casing (#15169)
* Update to proper casing

* Fixed naming

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Andreas Zerbst <andr317c@live.dk>
2023-11-10 08:20:22 +01:00
7bde16b4ef V13: Add eventype to webhookevents (#15157)
* Refactor IWebhookEvent to contain event type.

* refactor frontend to filter on eventType.

* Display event names

* refactor to use eventNames

* remove npm from overview

* implement alias for WebhookEvents

* Implement [WebhookEvent] attribute

* Refactor IWebhookService to get by event alias and not name

* Rename parameter to fit method name

* to lower event type to avoid casing issues

* Apply suggestions from code review

Co-authored-by: Ronald Barendse <ronald@barend.se>

* Change event names from constants to hard coded. And give more friendly names

* Refactor to not use event names, where it was not intended

* Add renaming column migration

* display event alias in logs

* Update migration to check if old column is there

* Apply suggestions from code review

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

* add determineResource function to avoid duplicate code

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Ronald Barendse <ronald@barend.se>
Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
2023-11-09 14:18:34 +01:00
Jacob Overgaard 1fcb96288f correct localization key of 2fa view 2023-11-09 11:14:55 +01:00
Bjarke Berg e13ab13183 Merge remote-tracking branch 'origin/v13/dev' into v14/dev
# Conflicts:
#	Directory.Build.props
#	src/Umbraco.Core/CompatibilitySuppressions.xml
#	src/Umbraco.Infrastructure/CompatibilitySuppressions.xml
#	src/Umbraco.Web.BackOffice/CompatibilitySuppressions.xml
#	src/Umbraco.Web.Common/CompatibilitySuppressions.xml
#	tests/Umbraco.Tests.Common/CompatibilitySuppressions.xml
#	tests/Umbraco.Tests.Integration/CompatibilitySuppressions.xml
2023-11-09 09:41:39 +01:00
Bjarke Berg 836f173925 Merge remote-tracking branch 'origin/release/13.0' into v13/dev 2023-11-09 09:23:44 +01:00
Ronald BarendseandGitHub 9f062e38eb Include automatic relation type aliases from factory and fix SQL parameter overflow (#15141)
* Include automatic relation type aliases from factory

* Remove unnessecary distinct and fix SQL parameter overflow issue

* Fixed assertions and test distinct aliases

* Simplified collection assertions
2023-11-09 08:42:22 +01:00
Ronald BarendseandGitHub d301679e53 Include Umbraco.Web.UI.Login project, update compatibility suppressions and remove unnecessary package references (#15163)
* Fix Umbraco.Web.UI.Login not showing up in solution

* Update PackageValidationBaselineVersion  to 13.0.0-rc1 and remove all CompatibilitySuppressions.xml files

* Remove unnecessary package references

* Move Microsoft.EntityFrameworkCore.Design reference and add comment

* Disable package validation and fix override in tests

* Inherit package validation setting for EF Core projects
2023-11-09 08:39:42 +01:00
Bjarke Berg e9857c800a Merge remote-tracking branch 'origin/v14/dev' into v14/dev 2023-11-09 07:57:00 +01:00
Ronald BarendseandGitHub 915b63db29 Fix rendering and parsing new RTE markup object in backoffice (#15166)
* Render RTE markup in custom view

* Fix ncRichText filter to support RTE markup object
2023-11-09 06:30:25 +01:00
Jacob Overgaard 1f4bbe2f06 update backoffice submodule 2023-11-08 14:39:46 +01:00
Bjarke Berg fd0c233362 Merge remote-tracking branch 'origin/v13/dev' into v14/dev 2023-11-08 05:53:03 +01:00
Bjarke Berg 5e37b997af Merge remote-tracking branch 'origin/v14/dev' into v14/dev 2023-11-08 05:52:35 +01:00
Bjarke Berg 1ba025cf8b Merge remote-tracking branch 'origin/v12/dev' into release/13.0
# Conflicts:
#	src/Umbraco.Web.UI.Client/package-lock.json
#	src/Umbraco.Web.UI.Client/package.json
#	version.json
2023-11-07 20:17:17 +01:00
Bjarke Berg e0220cb47f Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2023-11-07 20:14:55 +01:00
Bjarke Berg 81063d083c Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2023-11-07 20:14:04 +01:00
2f4f2ae384 V14/feature/custom generic swagger (#15025)
Co-authored-by: Sven Geusens <sge@umbraco.dk>
2023-11-07 16:15:56 +01:00
997434cebb Move localdb file management of PublishedSnapshotService into itself. (#15085)
* Move localdb file management of PublishedSnapshotService into itself.

Added a way for the PublishedSnapshot service to clean up it's local files so (for example) Upgrade migrations have a reliable way of removing known invalid cache files without running into locking issues

* Small rename to differentiate existing method from simple getter

* Fix breaking change

Long live default implementations 🎉

* Another breaking change fix

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
2023-11-07 16:02:20 +01:00
kasparboelkjeldsenandGitHub e5c8627abf Add strict contextual escaping on the $scope for grid controller (#14923)
* Add strict contextual escaping on the $scope for grid controller

* use safe_html filter instead
2023-11-07 11:44:11 +00:00
Bjarke Berg c90f05c57c bump version 2023-11-07 11:55:06 +01:00
Bjarne FyrstenborgandGitHub a648dda61b Add tree access to webhooks (#15156)
* Add tree access to webhooks

* Update authorize attribute

* Add webhooks tree policy
2023-11-07 11:17:31 +01:00
Bjarne FyrstenborgandGitHub 90ddd63742 Add comments to methods in IWebHookService (#15151)
* Add comments to methods in IWebHookService

* Inherit doc
2023-11-07 11:14:06 +01:00
Kenn JacobsenandBjarke Berg 80fac866c9 Ensure invariant properties return the correct cache value at source level (#15145)
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-11-07 09:02:08 +01:00
06d61094cc Ensure invariant properties return the correct cache value at source level (#15145)
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-11-07 09:01:27 +01:00
Jacob OvergaardandGitHub 613ed5955c V13 RC: Fix issue with 2FA login (#15140)
* add returnPath to 2fa custom views so they know where to redirect the user to

* fix(2fa): send back the user details in the login-success event emitter in case the login happens inside the backoffice overlay
2023-11-07 08:42:13 +01:00
Bjarke Berg 3306fe53e8 Fix build 2023-11-06 20:15:34 +01:00
Warren BuckleyandBjarke Berg c8dff604a0 Changes PackageMigrationsPlans to be a weighted collection like dashboards 2023-11-06 18:22:32 +01:00
Ronald BarendseandGitHub 289ab6740b Fix WithCollectionBuilder helper methods nullability (#15143)
* Fix WithCollectionBuilder helper methods nullability

* Remove unnecessary lamba expressions
2023-11-06 18:10:09 +01:00
Ronald BarendseandGitHub e7bab6995a Move IContextCache parameter to base Deploy interfaces and add checksum to artifact dependency (#15144)
* Move IContextCache parameter to base interfaces

* Add checksum to artifact dependency
2023-11-06 18:05:02 +01:00
Andy ButlandandGitHub 8d3883df14 Aligned parameters on sync and async methods on IFileSource. (#15128) 2023-11-06 17:59:30 +01:00
fee32bd6ec Remove parameter value/return nullability in IImageSourceParser, ILocalLinkParser and IMacroParser (#15130)
* Align nullability of ILocalLinkParser with other rich text content parsers (IMacroParser and IImageSourceParser).

* Remove value/return nullability in IImageSourceParser, ILocalLinkParser and IMacroParser

---------

Co-authored-by: Ronald Barendse <ronald@barend.se>
2023-11-06 17:58:01 +01:00
Elitsa MarinovskaandBjarke Berg d35c6f0e94 Update correct action (#15142)
(cherry picked from commit ffaa77eb25)
2023-11-06 17:56:08 +01:00
Bjarke Berg b12d88818d bump version 2023-11-06 17:54:38 +01:00
Andreas ZerbstandGitHub 66ea4fe29a V14 QA Added Log Viewer Tests (#15108)
* Added log viewer tests, not done yet

* Updated auth to work

* Updated the authentication test

* Cleaned up the Logviewer tests

* Removed old acceptance tests

* Fixed failing test

* Updated old tests and added additional log viewer tests

* Bumped version and deleted duplicate dependencies

* Fixed naming

* Added a TODO
2023-11-06 11:33:25 +01:00
Erik-Jan WestendorpandGitHub c0ca4685e8 Fix FurthestAncestorOrSelfDynamicRootQueryStep and FurthestDescendantOrSelfDynamicRootQueryStep (#15113)
* Rename FarthestDescendantOrSelfDynamicRootQueryStep to FurthestDescendantOrSelfDynamicRootQueryStep

* Rename FarthestAncestorOrSelfDynamicRootQueryStep to FurthestAncestorOrSelfDynamicRootQueryStep

* Update integration test and repo
2023-11-06 10:44:12 +01:00
Erik-Jan WestendorpandGitHub 913f48806a AddWebhookEvent to UmbracoBuilderExtensions (#15099) 2023-11-06 08:54:29 +01:00
Bjarne FyrstenborgandZeegaan 5f3c0c56cc Update webhook log table using constant (#15101)
(cherry picked from commit f7d1ef722e)
2023-11-06 08:24:11 +01:00
Bjarne FyrstenborgandZeegaan 79d9ac759b V13: Webhook corrections (#15077)
* Update icons

* Update tree headers

* Cleanup and change icon name

* Use button element instead

* Disable button instead

* Fix overlay title

* Simplify labels

* Add datalist for common headers

* Use Utilties function

* Events in plural form

* Cleanup and formatting

* Formatting

* More formatting

* Stop event bubbling when clicking delete button

* Sync tree node and show loading indicator

* Add webhook icon

* Remove globe icon to not confuse with languages

* Update logs

* Remove extra column with delete button which shouldn't be there

* Use umb-icon and update titles

* Use content type picker

(cherry picked from commit 29be27ba46)
2023-11-06 08:24:10 +01:00
Kevin JumpandZeegaan c31df57bdc New WebhookEventBase class (#15129)
(cherry picked from commit 145107be45)
2023-11-06 08:23:34 +01:00
Matthew WiseandEmma L Garland a2a2680def String comparision was using current culture which resulting in incorrect resuts for some languages 2023-11-03 14:00:59 +00:00
Vitor RodriguesandEmma L Garland 53b152d501 Fix potential NullReferenceException 2023-11-03 13:31:01 +00:00
Kevin JumpandGitHub 145107be45 New WebhookEventBase class (#15129) 2023-11-03 14:30:13 +01:00
Vitor RodriguesandEmma L Garland 5c514ca6c6 Fixed open api enum schema filter not setting type
By not setting the type and format, it would remain integer is this case, which would result in an invalid specification as the enum members are strings.
2023-11-03 13:14:20 +00:00
Bjarne FyrstenborgandGitHub e17fa957d6 Don't allow to select folder in create dialog under media type (#14840)
* Only allow creating folder at root or under another folder

* Fix typos in error message

* Add data-element to member type create dialog
2023-11-03 12:49:41 +00:00
Jacob Overgaard b11e13f8cd bump nvm support to latest node.js 20.9 LTS 2023-11-03 11:25:55 +01:00
Jacob OvergaardandGitHub 74a32fe0c0 V13 RC: Avoid duplicate id's on the login screen (#15111)
* avoid duplicate id's on the login screen

this removes the id attr from the inner input element of umb-login-input

* disallow form to validate

the validate behavior is controlled by the UI library
2023-11-03 09:36:38 +01:00
Mike MaseyandMichael Latouche a907be54b4 fix: add select all sr-only text to umb table select all button 2023-11-02 17:02:14 +01:00
Jacob Overgaard 3f4bb50a98 update backoffice submodule 2023-11-02 16:50:12 +01:00
Mike MaseyandJason Elkin 7886af4397 fix: ensure alt tag isn't remove on build
There seems to be an odd bug where on build, the alt tag is removed is it is alt="". Simply adding a space fixes this.
2023-11-02 15:50:04 +00:00
Jacob Overgaard 2bbd5fa541 update backoffice submodule 2023-11-02 16:32:06 +01:00
Jason ElkinandMichael Latouche c7f9417063 Remove legacy test project 2023-11-02 16:30:20 +01:00
Zeb SadiqandMichael Latouche 7b0ae3c5d9 Fixed one warning for Umbraco.Infrastructure . 'AesCryptoServiceProvider' is obsolete. 2023-11-02 16:26:29 +01:00
Richard JacksonandMichael Latouche 7a57e8861d Removed parenthesis from compiler directive
Removes warning from Umbraco.Web.UI as part of #15015
2023-11-02 16:08:45 +01:00
ff05886e43 Remove setter from WebhookEvent (#15106)
Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-11-02 14:37:28 +01:00
Jacob Overgaard 0a65f0a576 lockfile 2023-11-02 14:06:21 +01:00
Bjarne FyrstenborgandMichael Latouche 69139eda52 Allow dashboard content to grow 2023-11-02 13:29:20 +01:00
Bjarne FyrstenborgandGitHub f7d1ef722e Update webhook log table using constant (#15101) 2023-11-02 13:27:48 +01:00
Andrew McKaskillandGitHub c30ffa9ac3 Refactor hostedServices into background jobs (#14291)
* Refactor jobs from HostedServices into BackgroundJobs

* Clean up generics and DI setup

* Add RecurringBackgroundJob Unit Tests

* Add ServiceCollection helper

* Add Obsolete attributes

* Add Notification Classes

* Add UnitTests for RecurringBackgroundJob HostedService

* Add NotificationEvents

* Add state to notifications

* Update UnitTests

* Add Obsolete Attributes to old hosted service classes

* Updated xmldoc in IRecurringBackgroundJob.cs

* Update Obsolete attribute messages to indicate classes will be removed in Umbraco 14
2023-11-02 13:15:14 +01:00
Bjarke Berg 83ed42998a Merge remote-tracking branch 'origin/v13/dev' into v14/dev 2023-11-02 13:12:46 +01:00
Kenn JacobsenandGitHub 0f91ed895d Merge pull request #15100 from umbraco/v14/feature/merge-01-11-2023
V13 to V14 merge 01-11-2023
2023-11-02 12:38:26 +01:00
Jeroen BreuerandJason Elkin 67fe7e7e11 Fix warning CS0618: 'IHostingEnvironment.MapPathContentRoot(string)' is obsolete. 2023-11-02 11:05:53 +00:00
kjac e864f3eb05 Fix merge errors and port blocks in RTE implementation to V14 format (strongly typed, no magic JObjects) 2023-11-02 11:55:12 +01:00
Zeegaan 10264f244b bump version 2023-11-02 09:14:18 +01:00
Zeegaan 609a3ebca1 Merge branch 'release/12.3.0' into v12/dev 2023-11-02 08:53:11 +01:00
Bjarne FyrstenborgandGitHub 29be27ba46 V13: Webhook corrections (#15077)
* Update icons

* Update tree headers

* Cleanup and change icon name

* Use button element instead

* Disable button instead

* Fix overlay title

* Simplify labels

* Add datalist for common headers

* Use Utilties function

* Events in plural form

* Cleanup and formatting

* Formatting

* More formatting

* Stop event bubbling when clicking delete button

* Sync tree node and show loading indicator

* Add webhook icon

* Remove globe icon to not confuse with languages

* Update logs

* Remove extra column with delete button which shouldn't be there

* Use umb-icon and update titles

* Use content type picker
2023-11-01 16:55:03 +01:00
Nikolaj Geisle c42eb28129 Bump version 2023-11-01 14:40:51 +01:00
Bjarke Berg ef80e25aa6 Merge remote-tracking branch 'origin/v13/dev' into v14/dev
# Conflicts:
#	build/azure-pipelines.yml
#	src/Umbraco.Core/Constants-Configuration.cs
#	src/Umbraco.Core/DependencyInjection/UmbracoBuilder.Configuration.cs
#	src/Umbraco.Core/Factories/IDatabaseSettingsFactory.cs
#	src/Umbraco.Core/Factories/IInstallSettingsFactory.cs
#	src/Umbraco.Core/Factories/IUpgradeSettingsFactory.cs
#	src/Umbraco.Core/Factories/InstallSettingsFactory.cs
#	src/Umbraco.Core/Factories/UpgradeSettingsFactory.cs
#	src/Umbraco.Core/Factories/UserSettingsFactory.cs
#	src/Umbraco.Core/Installer/IInstallStep.cs
#	src/Umbraco.Core/Installer/IUpgradeStep.cs
#	src/Umbraco.Core/Installer/NewInstallStepCollection.cs
#	src/Umbraco.Core/Installer/NewInstallStepCollectionBuilder.cs
#	src/Umbraco.Core/Installer/Steps/FilePermissionsStep.cs
#	src/Umbraco.Core/Installer/Steps/RestartRuntimeStep.cs
#	src/Umbraco.Core/Installer/Steps/TelemetryIdentifierStep.cs
#	src/Umbraco.Core/Installer/UpgradeStepCollection.cs
#	src/Umbraco.Core/Installer/UpgradeStepCollectionBuilder.cs
#	src/Umbraco.Core/Models/Blocks/RichTextBlockLayoutItem.cs
#	src/Umbraco.Core/Models/Blocks/RichTextEditorBlockDataConverter.cs
#	src/Umbraco.Core/Models/Configuration/NewBackOfficeSettings.cs
#	src/Umbraco.Core/Models/Configuration/NewBackOfficeSettingsValidator.cs
#	src/Umbraco.Core/Models/Installer/ConsentLevelModel.cs
#	src/Umbraco.Core/Models/Installer/DatabaseInstallData.cs
#	src/Umbraco.Core/Models/Installer/DatabaseSettingsModel.cs
#	src/Umbraco.Core/Models/Installer/InstallData.cs
#	src/Umbraco.Core/Models/Installer/InstallSettingsModel.cs
#	src/Umbraco.Core/Models/Installer/PasswordSettingsModel.cs
#	src/Umbraco.Core/Models/Installer/UpgradeSettingsModel.cs
#	src/Umbraco.Core/Models/Installer/UserInstallData.cs
#	src/Umbraco.Core/Models/Installer/UserSettingsModel.cs
#	src/Umbraco.Core/Models/OutOfDateType.cs
#	src/Umbraco.Core/PaginationHelper.cs
#	src/Umbraco.Core/Services/Installer/IInstallService.cs
#	src/Umbraco.Core/Services/Installer/IUpgradeService.cs
#	src/Umbraco.Core/Services/Installer/InstallService.cs
#	src/Umbraco.Core/Services/Installer/UpgradeService.cs
#	src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.Repositories.cs
#	src/Umbraco.Infrastructure/Factories/Installer/DatabaseSettingsFactory.cs
#	src/Umbraco.Infrastructure/Installer/Steps/CreateUserStep.cs
#	src/Umbraco.Infrastructure/Installer/Steps/DatabaseConfigureStep.cs
#	src/Umbraco.Infrastructure/Installer/Steps/DatabaseInstallStep.cs
#	src/Umbraco.Infrastructure/Installer/Steps/DatabaseUpgradeStep.cs
#	src/Umbraco.Infrastructure/Installer/Steps/RegisterInstallCompleteStep.cs
#	src/Umbraco.Infrastructure/Migrations/Upgrade/UmbracoPlan.cs
#	src/Umbraco.Infrastructure/Models/Blocks/BlockEditorDataConverter.cs
#	src/Umbraco.Infrastructure/PropertyEditors/BlockEditorPropertyValueEditor.cs
#	src/Umbraco.Infrastructure/PropertyEditors/BlockEditorValidator.cs
#	src/Umbraco.Infrastructure/PropertyEditors/BlockEditorValues.cs
#	src/Umbraco.Infrastructure/PropertyEditors/RichTextPropertyEditor.cs
#	src/Umbraco.Infrastructure/PropertyEditors/ValueConverters/BlockGridPropertyValueConverter.cs
#	src/Umbraco.Infrastructure/PropertyEditors/ValueConverters/BlockListPropertyValueConverter.cs
#	src/Umbraco.Infrastructure/PropertyEditors/ValueConverters/BlockPropertyValueConverterBase.cs
#	src/Umbraco.Infrastructure/Security/IBackOfficeApplicationManager.cs
#	src/Umbraco.Infrastructure/Services/IIndexingRebuilderService.cs
#	src/Umbraco.Infrastructure/Services/IndexingRebuilderService.cs
#	src/Umbraco.New.Cms.Core/Umbraco.New.Cms.Core.csproj
#	src/Umbraco.New.Cms.Infrastructure/Umbraco.New.Cms.Infrastructure.csproj
#	src/Umbraco.New.Cms.Web.Common/Umbraco.New.Cms.Web.Common.csproj
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/content.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Login/login.spec.ts
#	tests/Umbraco.Tests.UnitTests/Umbraco.Core/PropertyEditors/BlockListPropertyValueConverterTests.cs
#	version.json
2023-11-01 13:50:38 +01:00
Bjarke Berg e159124643 Merge branch 'v14/feature/merge-29-10-2023' into v14/dev 2023-11-01 12:41:12 +01:00
Bjarke Berg 6bd4642bb2 Merge remote-tracking branch 'origin/v12/dev' into v13/dev
# Conflicts:
#	src/Umbraco.Web.UI.Client/package-lock.json
#	src/Umbraco.Web.UI.Client/package.json
2023-11-01 12:26:08 +01:00
Bjarke Berg c6e760c114 Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2023-11-01 12:24:04 +01:00
Bjarke Berg 2856dc19a4 revert wrong merge for installer 2023-11-01 12:22:52 +01:00
Bjarke Berg 1ce71b6760 Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2023-11-01 12:21:12 +01:00
Elitsa MarinovskaandNikolaj Geisle fc81cc8f38 Check content permissions before performing action (#15043)
* Setting actionContext.Result when authz wasn't successful

* Taking into account permissions when it is a new node

* Cleanup

* Passing nodeId as path when new item
2023-11-01 11:50:24 +01:00
Nikolaj GeisleandGitHub 52fd853d52 Move to core (#15084) 2023-11-01 11:47:27 +01:00
Nikolaj Brask-NielsenandNikolaj Geisle d5ff80352e Fix custom dbcontexts extention methods (#14937)
* test: Create failing test

* feat: New extension methods for adding Umbraco DBContexts

* test: Cleaned up integration tests
2023-11-01 10:06:17 +01:00
Nikolaj Brask-NielsenandGitHub c19e747bbe Fix custom dbcontexts extention methods (#14937)
* test: Create failing test

* feat: New extension methods for adding Umbraco DBContexts

* test: Cleaned up integration tests
2023-11-01 09:59:32 +01:00
Bjarke Berg aaf7171f75 Bump version 2023-10-31 19:36:43 +01:00
Bjarke Berg 890da5f57b Fixed login tests 2023-10-31 18:45:09 +01:00
Bjarne FyrstenborgandGitHub b1b48ec5cd Set max height of media item in grid (#15066)
* Set max height of media item in grid to avoid portrait images of take up much of height

* Style image preview in for SVG

* Set max height instead
2023-10-31 17:23:15 +00:00
Bjarke Berg 15fb4205ff Fixed issue with member creation and fixed test with non-breakable-space issue 2023-10-31 17:14:25 +01:00
Jacob Overgaard 985799068b update backoffice submodule 2023-10-31 16:46:28 +01:00
Jacob Overgaard fe8fe821d4 update backoffice submodule 2023-10-31 15:14:18 +01:00
Bjarke Berg d4dad9cb5b Merge remote-tracking branch 'origin/v13/dev' into release/13.0 2023-10-31 15:10:49 +01:00
Jacob OvergaardandGitHub 78f46abe63 V13/bugfix/login screen autofill (#15075)
* pass in fields from outside login-page to make autofill APIs work

* remove unused property

* disable spellcheck for login form

* add name to login form

* remove unused property

* clean-up imports

* use inputmode instead of type=email

* refactor arguments into opts object
2023-10-31 15:10:27 +01:00
Bjarke Berg 8e7edde564 Merge remote-tracking branch 'origin/v13/dev' into release/13.0 2023-10-31 12:52:54 +01:00
ae84d324ab V13/feature/blocks in rte (#15029)
* insert umb rte block web component in rte

* First stab at moving the RTE markup to a nested "markup" property in the property value.

* initial work

* only rewrite markup

* transform RTE into component

* parse scope in grid.rte

* revert use a fallback instead

* block insertion and sync in place

* block picker partly impl

* remove test of old controller

* remove test of old controller

* block with block data

* proper block with api connection

* remove log

* styling

* Persist blocks data (still a temporary solution)

* styling allows for interaction

* block actions

* tinyMCE styling

* paste feature

* prevalue display Inline toggle

* inline mode in RTE

* todo note

* fixes wording

* preparation for editor communication

* remove val-server-match for now

* clean up blocks that does not belong in markup

* remove blocks not used in the markup

* liveEditing

* displayAsBlock formatting

* clean up

* TODO note

* Serverside handling for RTE blocks (incl. refactor of Block List and Block Grid)

* ensure rich text loads after block editor

* trigger resize on block init

* Handle RTE blocks output in Delivery API

* sanitize ng classes

* simplify calls to init blocks

* move sanitisation

* make validation work

* only warn when missing one

* clean up

* remove validation border as it does not work

* more clean up

* add unsupported block entry editor

* Revert breaking functionality for Block List and Grid

* prevent re-inits of blocks

* make sure delete blocks triggers an update

* Refactor RichTextPropertyIndexValueFactory to index values from blocks + clean up RichTextPropertyEditor dependencies

* first working cursor solution

* inline element approach

* Handle both inline and block level blocks

* Fix the RTE block parser regex so it handles multiple inline blocks.

* Fix reference and tags tracking, add tests, make the editor backwards compatible and make deploy happy

* Use RichTextPropertyEditorHelper serialization in tests

* Ensure correct model in Block Grid value converter (incl unit test to prove it)

* do not include umbblockpicker in grid

* make blocks the new default, instead of macros

* only send value of body from DOMParser

* Blocks of deleted ElementTypes shows unsupported

* do not edit a unsupported block

* remove trying to be smart on the init

* fix missing culture issue

* set dirty

* alert when no blocks

* Revert "make blocks the new default, instead of macros"

This reverts commit 283e8aa473.

---------

Co-authored-by: kjac <kja@umbraco.dk>
2023-10-31 12:52:35 +01:00
Bjarke Berg a3a4917a94 Merge remote-tracking branch 'origin/v13/dev' into release/13.0 2023-10-31 12:40:12 +01:00
Andy ButlandandGitHub d08d141bcf Updates and support for re-use of CMS logic in Deploy (#14990)
* Adds additional parameter to IFileSource.GetFilesAsync allowing the caller to continue on a file not found exception.

* Moved redirect tracking and creation logic out of handler into a service, allowing for re-use in Deploy.

* Reverted breaking change in IFileSource by obsoleting old method and
2023-10-31 12:38:44 +01:00
Jacob OvergaardandGitHub 53b87cb78c V13: npm updates (ace-editor) (#15033)
* bump vite from 4.4.11 to 4.5.0

* bump ace editor from 1.30.0 to 1.31.0

* bump eslint from 8.51.0 to 8.52.0

* update lockfile
2023-10-31 12:34:52 +01:00
Bjarke Berg 5665ad2b75 Merge remote-tracking branch 'origin/v13/dev' into release/13.0 2023-10-31 12:31:26 +01:00
Zeegaan eb355f4ab6 Compare invariant to string instead, as SqlServer rounds DateTime 2023-10-31 12:30:12 +01:00
Ronald BarendseandGitHub 7677708917 Fix JsonNetSerializer settings leaking into derived implementations (#14814)
* Change settings static field to instance property

* Rename property to Settings
2023-10-31 12:18:51 +01:00
Jeffrey SchoemakerandGitHub 8e7831f4b8 Update NestedContentPropertyEditor.cs - Update obsolete message (#14953)
Nested Content is removed in v14, not in v13 anymore. This makes sure developers won't get confused / in panic mode
2023-10-31 12:17:34 +01:00
Jacob Overgaard 0281b71dc8 update importmap 2023-10-31 11:50:35 +01:00
Bjarke Berg 2cf839f686 Merge remote-tracking branch 'origin/v13/dev' into release/13.0 2023-10-31 11:39:05 +01:00
6658a521b2 Dynamic Root (Alternative to XPath in MNTP) (#15035)
* Temp commit.. Initial work on XPath alternative for dymamically finding start nodes

* First commit that goes all the way from ui to db for NearestAncestorOrSelf

* Added more filters + return null from controller instead of not found

* Bugfix

* rewrite query to make sqlserver happy?

* Added more tests

* clean up initial step

* Added tests and refactor

* Update endpoint to take model instead of json

* pick origin

* Use model for config instead of string

* append add filter button

* fix

* default filter

* rename json fields

* correct field names

* minor corrections

* Renaming..

* Rename endpoint

* initial work for appending query steps

* query steps ui

* more localization

* query step UI

* Use doc type keys instead of alias

* only for Documents

* change to send keys to anyOfDocTypeKeys

* Fix potential bug

* Fix when level is impossible to get

* correct prop to dynamicRoot

* noValidStartNode dialog

* custom query step

* Renaming

* Rollback unintended file change

* Fixed issue if no doc type is chosen

* Remove unintended file changes

* More unintended changes

* Renaming

* Optimizations

- IDE Recommendation for better source
- Renaming for better clarity
- Improving spacing/formatting
- Typo corrections
- Remove warnings concerning IEnumerable

* Fix failed attempt bug

---------

Co-authored-by: Niels Lyngsø <niels.lyngso@gmail.com>
Co-authored-by: Sven Geusens <sge@umbraco.dk>
2023-10-31 11:38:24 +01:00
Bjarke Berg 892e4a5678 Merge remote-tracking branch 'origin/v13/dev' into release/13.0 2023-10-31 10:07:38 +01:00
6c5d38eb1a V14/feature/resend user invite endpoint (#14985)
* Added endpoint to resend invites for users.

* improve async return signatures + usings cleanup

* Improve/fix controller details

* Small improvements/clarifications

* Minor whitespace and naming fixes

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
2023-10-31 10:07:30 +01:00
1b34d33eb7 Webhooks administration from Backoffice (#15050)
* Create webhook models

* Define interfaces for service and repository

* Create Webhook dto and corresponding factory

* implement WebhookRepository.cs

* Remove entity name from models, as that should be resolved in mapping instead

* Add new table to schema creator

* Register repo for DI

* Remove more mentions of entityname

* Refactor repository to guids

* Implement WebhookService

* Use scopes in service

* Start creating tests for service

* Refactor delete to use Id and not entire entity

* Rework Webhooks to be able to have multiple entity keys

* Implement GetAll functionality

* Implement webhook controller

* Imeplement get all events action

* Add equalityComparer deletegate to Webhook

* Add datacontract attirbutes to properties

* Implement backoffice webhooks tree

* Implement first webhooks menu

* Make WebHookController authorized

* Update to have tabs with webhooks and logs

* Enable create overlay

* Push to entityKeys array

* Fix up pagination

* Implement delete functionality

* remove pagination

* add log view

* Fix create to be able to select more than one content type

* implement type name resolving for content

* Refactor to use less duplication

* Implement update functionality in frontend

* Rename database table

* Make multiple events possible

* create new event picker

* Refactor to actually add new database table with proper name

* Make it possible to select multiple events

* Fix updating current items

* Fix up update functionality after db rework

* Add webhook icon

* Switch to match heartcore icons

* Refactor to use bases instead of Enum

* Refactor to make IWebhookEvent to Collection, so it can be injected instead of using reflection

* Fix up frontend to match new models

* Fix integration tests

* Remove obsolete entity key from webhookdto

* Introduce constants instead of hard coded strings

* Start implementation of firing mechanism

* Add new GetByEventName method

* Add 1 to many list on WebhookDto

* Implement new repository pattern

* Implement GetByEventName

* Fix up repository to use all async

* Refactor events to fire

* Refactor WebhookEvents to be more DRY

* Add custom header

* Start implementing log repository

* Implement GetPaged

* Implement WebhookLogService

* Implement GetLogs

* Add url to webhook log

* Implement log overview

* Formatting

* Implement details view

* Refactor to get actual retry count

* Refactor firing to fire only when Enabled

* Add Status code to detailed view

* Add configuration to disable webhooks entirely

* Implement custom headers frontend

* Implement persistence of custom headers

* Refactor retry service to also retry on non success status codes.

* Refactor registration of Webhooks, to also register as NotificationHandler

* Add webhooks migration

* Add key for adding webhook headers

* Fix up test

* Change event icon to flag

* Remember event, when editing what events you have chosen

* Refactor reflection to check if INotificationAsyncHandler instead

* Formatting

* Refactor webhook model to no longer derive from EntityBase

* Rename entityKeys to content keys

* Rename controller to lowercase H

* Add null check before trying to access selectedEvents

* Add configuration for maximum number of retries

* Add index to date

* Add webhook Key to logs

* Check for SchedulingPublisher before sending webhooks

* rename requestObject to payload

* Refactor event to send appropriate payloads

* Refactor logging to happen for every try.

* Order date by descending

* Add todo

* Change firing service to use String not ByteContent

* Update Headers to Interface instead of concrete implementation

* Dont return if a table exists already

* Rename updateModel to webhook

* Annotate WebhookController.cs with PluginController attribute

* Add danish translations

* Do not check if fail

* Dont filter when selecting custom items

* Remove delay from WebhookFiringService

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-10-31 10:06:14 +01:00
Jacob Overgaard bf6b2b1939 add new imports 2023-10-31 09:19:46 +01:00
Jacob Overgaard 7a750da8aa update build markers for StaticAssets to support Belle, Bellissima, Auth, and Login 2023-10-31 08:01:24 +01:00
Jacob Overgaard 8e925cb44c add condition to allow V13 and V14 login screens to work simultaneously 2023-10-30 15:58:29 +01:00
Jacob Overgaard 230164efd8 update backoffice submodule to ensure "auth app" is set to output its files properly 2023-10-30 15:45:38 +01:00
Jacob Overgaard 060ce40475 set new v14 "auth app" to output its files into a new "auth" folder to ensure it doesnt conflict with v13 login screen 2023-10-30 15:44:02 +01:00
Jacob Overgaard ca03034afb Add UmbracoLogin/Index.cshtml from V13 into the Umbraco.Web.UI executable to override the V14 login screen 2023-10-30 15:43:02 +01:00
Jacob Overgaard ebef3e2359 The default login view should be the v14 compliant login component until the v13 login screen is migrated properly 2023-10-30 15:42:31 +01:00
Bjarke Berg bd0a8bfdf7 post merge 2023-10-30 15:13:12 +01:00
Jacob Overgaard d40797b91b Merge remote-tracking branch 'origin/v13/dev' into release/13.0 2023-10-30 14:58:06 +01:00
Jacob Overgaard 107a70ad31 bump @umbraco-ui/uui from 1.4.0 to 1.5.0 2023-10-30 14:54:53 +01:00
Jacob Overgaard 5bfd7d405f bump @umbraco-ui/uui from 1.4.0 to 1.5.0 2023-10-30 14:50:09 +01:00
Jacob Overgaard bab06b7749 bump @umbraco-ui/uui from 1.4.0 to 1.5.0 2023-10-30 14:50:00 +01:00
Bjarke Berg 73fd3c02fe use dotnet 8 for docs 2023-10-30 13:55:26 +01:00
Bjarke Berg f1a12e2a50 Update docfx and use dotnet global tool 2023-10-30 13:13:32 +01:00
Bjarke Berg 60e910e7e5 Remove the parts later moved to v14 2023-10-30 12:31:17 +01:00
Bjarke Berg 761088c0e9 Update version 2023-10-30 08:59:38 +01:00
Chriztian SteinmeierandGitHub 8e609af901 Updates to Danish translations (#15057)
* Updates to Danish translations

Typo fixes & grammar fixes

* Updating as discussed in the PR
2023-10-28 17:19:34 +02:00
Marc GoodsonandGitHub 51553e0270 Make clearer where to go to see build documentation (#15054)
* Make clearer where to go to see build documentation

* lose a bracket
2023-10-27 11:47:42 +01:00
MichaelandEmma L Garland 38a0417ef3 Correct typo's... 2023-10-27 11:26:59 +01:00
MichaelandEmma L Garland d5859669f6 Updated FR file 2023-10-27 11:26:59 +01:00
Bjarke Berg dfe5dfa4c1 Merge remote-tracking branch 'origin/v14/dev' into v14/dev
# Conflicts:
#	src/Umbraco.Cms.Api.Common/DependencyInjection/UmbracoBuilderAuthExtensions.cs
#	src/Umbraco.Core/DeliveryApi/IApiContentQueryProvider.cs
#	src/Umbraco.Core/DeliveryApi/IApiContentQueryService.cs
#	src/Umbraco.Core/Services/ITagService.cs
#	src/Umbraco.Core/Services/UserService.cs
#	src/Umbraco.Web.BackOffice/Controllers/MediaController.cs
2023-10-26 09:50:08 +02:00
Bjarke Berg e147c93cf9 Merge remote-tracking branch 'origin/v13/dev' into v14/dev
# Conflicts:
#	Directory.Build.props
#	build/azure-pipelines.yml
#	src/Umbraco.Cms.Api.Common/DependencyInjection/UmbracoBuilderAuthExtensions.cs
#	src/Umbraco.Cms.Api.Common/OpenApi/SwaggerRouteTemplatePipelineFilter.cs
#	src/Umbraco.Cms.Api.Common/Security/Paths.cs
#	src/Umbraco.Cms.Api.Delivery/Controllers/Security/MemberController.cs
#	src/Umbraco.Cms.Api.Delivery/DependencyInjection/UmbracoBuilderExtensions.cs
#	src/Umbraco.Cms.Api.Delivery/Handlers/InitializeMemberApplicationNotificationHandler.cs
#	src/Umbraco.Cms.Api.Delivery/Handlers/RevokeMemberAuthenticationTokensNotificationHandler.cs
#	src/Umbraco.Cms.Api.Delivery/Security/MemberApplicationManager.cs
#	src/Umbraco.Cms.Api.Delivery/Services/RequestMemberAccessService.cs
#	src/Umbraco.Cms.StaticAssets/umbraco/UmbracoBackOffice/Default.cshtml
#	src/Umbraco.Cms.StaticAssets/umbraco/UmbracoLogin/Index.cshtml
#	src/Umbraco.Core/Constants-OAuthClaims.cs
#	src/Umbraco.Core/Constants-OAuthClientIds.cs
#	src/Umbraco.Core/DeliveryApi/IApiContentQueryProvider.cs
#	src/Umbraco.Core/DeliveryApi/IApiContentQueryService.cs
#	src/Umbraco.Core/DeliveryApi/IRequestMemberAccessService.cs
#	src/Umbraco.Core/DeliveryApi/NoopRequestMemberAccessService.cs
#	src/Umbraco.Core/Models/DeliveryApi/ProtectedAccess.cs
#	src/Umbraco.Core/Services/ITagService.cs
#	src/Umbraco.Core/Services/UserService.cs
#	src/Umbraco.Infrastructure/Security/IMemberApplicationManager.cs
#	src/Umbraco.Infrastructure/Security/OpenIdDictApplicationManagerBase.cs
#	src/Umbraco.Web.BackOffice/Controllers/BackOfficeController.cs
#	src/Umbraco.Web.BackOffice/Controllers/MediaController.cs
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/HelpPanel/systemInformation.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Login/login.spec.ts
#	version.json
2023-10-26 09:48:05 +02:00
de12019fea Bugfix: UI for preview bug related to single language & non variant content (#15032)
* Bump tinymce from 6.7.0 to 6.7.1

* Ensure PackageVersion is set correctly before transforming template.json

* rerun watchers every time we reinit the data

* handle variant content with only one language

---------

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
Co-authored-by: Ronald Barendse <ronald@barend.se>
2023-10-26 09:25:50 +02:00
Sebastiaan Janssen 634afc4b18 Add "unwanted changes" doc back 2023-10-26 09:15:54 +02:00
Bjarke Berg 1ad5b05ef5 Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2023-10-26 09:03:04 +02:00
Bjarke Berg e7f4d321c5 Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2023-10-26 09:02:42 +02:00
Bjarke Berg 610080afc4 Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2023-10-26 09:02:04 +02:00
8dff55fced Update nuget packages (#15039)
* Update nuget packages

* Update to use latest rc2 version of packages instead of specific

* Update src/Umbraco.Cms.Persistence.EFCore.SqlServer/Umbraco.Cms.Persistence.EFCore.SqlServer.csproj

* dont add private/include assets

* Remove duplicate serilog reference

* Revert Moq update

* Update src/Umbraco.Web.UI/Umbraco.Web.UI.csproj

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-10-26 09:01:29 +02:00
Bjarke Berg af39733a96 Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2023-10-25 20:26:18 +02:00
Sebastiaan JanssenandGitHub ca5dce571c Update CONTRIBUTING.md 2023-10-25 16:45:38 +02:00
Busra SengulandGitHub 31e22710f0 Contributing section seperation (#14849) 2023-10-25 16:43:04 +02:00
Sebastiaan Janssen d1da22b665 Merge branch 'v12/dev' into contrib 2023-10-25 14:23:58 +02:00
Nikolaj GeisleandGitHub e1a1dedfb9 Dont explicitly index nested property by default (#15028) 2023-10-24 14:43:57 +02:00
Jacob OvergaardandGitHub 922be1c416 V13: Add support for Node.js 20 (#15022)
* update versionSpec to nodejs 20 and avoid specifying minor and patch versions to improve Azure Pipelines stability

* update engines and package lock files

* update helpful displayNames for npm builds

* add retry to counter nodejs.org timeouts

add retryCountOnTaskFailure as suggested on https://developercommunity.visualstudio.com/t/NodeTool0-task-to-install-nodejs-fails/10455454
2023-10-24 13:59:42 +02:00
Kenn JacobsenandGitHub b7a1cd5ab4 Cleaned up V14 TODOs from ContentApiItemControllerBase (#15026) 2023-10-24 10:08:28 +02:00
b423329d97 Turkish language support changes (#15005)
* Turkish language support changes

* small updates and corrections

---------

Co-authored-by: Nurhak Kaya <nurhak.kaya@greatstate.co>
2023-10-24 00:20:04 +02:00
kjac 37082ac53d Remove duplicate reference to Core
(cherry picked from commit 304a64be5a)
2023-10-23 19:34:38 +02:00
Ronald Barendseandkjac ebc6e38b86 Ensure PackageVersion is set correctly before transforming template.json
(cherry picked from commit 0170ecaec1)
(cherry picked from commit 69c1bcec3a)
2023-10-23 19:34:30 +02:00
kjac e30a87d1fd Merge branch 'v13/dev' into v14/dev
# Conflicts:
#	Directory.Build.props
#	build/azure-pipelines.yml
#	src/Umbraco.Cms.Api.Common/DependencyInjection/UmbracoBuilderAuthExtensions.cs
#	src/Umbraco.Cms.Api.Common/OpenApi/SwaggerRouteTemplatePipelineFilter.cs
#	src/Umbraco.Cms.Api.Common/Security/Paths.cs
#	src/Umbraco.Cms.Api.Delivery/Controllers/Security/MemberController.cs
#	src/Umbraco.Cms.Api.Delivery/DependencyInjection/UmbracoBuilderExtensions.cs
#	src/Umbraco.Cms.Api.Delivery/Handlers/InitializeMemberApplicationNotificationHandler.cs
#	src/Umbraco.Cms.Api.Delivery/Handlers/RevokeMemberAuthenticationTokensNotificationHandler.cs
#	src/Umbraco.Cms.Api.Delivery/Security/MemberApplicationManager.cs
#	src/Umbraco.Cms.Api.Delivery/Services/RequestMemberAccessService.cs
#	src/Umbraco.Core/Constants-OAuthClaims.cs
#	src/Umbraco.Core/Constants-OAuthClientIds.cs
#	src/Umbraco.Core/DeliveryApi/IApiContentQueryProvider.cs
#	src/Umbraco.Core/DeliveryApi/IApiContentQueryService.cs
#	src/Umbraco.Core/DeliveryApi/IRequestMemberAccessService.cs
#	src/Umbraco.Core/DeliveryApi/NoopRequestMemberAccessService.cs
#	src/Umbraco.Core/Models/DeliveryApi/ProtectedAccess.cs
#	src/Umbraco.Core/Services/ITagService.cs
#	src/Umbraco.Core/Services/UserService.cs
#	src/Umbraco.Infrastructure/Security/IMemberApplicationManager.cs
#	src/Umbraco.Infrastructure/Security/OpenIdDictApplicationManagerBase.cs
#	src/Umbraco.Web.BackOffice/Controllers/MediaController.cs
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/HelpPanel/systemInformation.spec.ts
#	version.json
2023-10-23 19:03:13 +02:00
kjac 304a64be5a Remove duplicate reference to Core 2023-10-23 14:00:33 +02:00
Ronald Barendseandkjac 69c1bcec3a Ensure PackageVersion is set correctly before transforming template.json
(cherry picked from commit 0170ecaec1)
2023-10-23 13:06:21 +02:00
Ronald BarendseandGitHub 0170ecaec1 Ensure PackageVersion is set correctly before transforming template.json 2023-10-23 11:17:40 +02:00
Jacob Overgaard dcdc4d9a48 run npm audit fix 2023-10-23 10:57:41 +02:00
a27267e5d3 V13: New login screen (#14780)
* implement interface

* add build targets for login screen

* package lock

* move components to pages folder

* load logo and background from property

* styling

* move mocks around

* remove unused vars

* add backoffice handlers

* install rxjs

* add mock data

* add element and context for localization

* mock data

* use umb-localize

* remove the extra logic with check for section_

* change key for login button

* add base to vite environment

* login styling

* cleanup and button styling

* use correct reset url

* change body of reset request

* validate password reset code

* redirect to /login/new on reset password code verify

* add obsolete messages

* remove inline scripts for old backoffice

* remove shadowdom from localize element

* Revert "remove shadowdom from localize element"

This reverts commit 46ae282f7c.

* hook up reset password to api

* rename pages to state as it is not actually used as different pages

* reset password styling

* more styling

* add confirmation page to new password

* set router to firstUpdated to avoid rAF

* set a custom baseUrl on the router to make sure it works without trailing slash

* use route parameters to redirect on the login page to ensure correct escaping

* add server variables

* make sure auth layout uses the provided properties for images

* format

* redirect to code expired page

* add missing properties

* use allowPasswordReset and allowInvite properties in routing and layout

* make ts happy

* cleanup

* init invite page

* hook up usernameIsEmail

* init external login providers

* add mock provider

* add padding to buttons

* replace uui button with normal button

* add external login providers as slot

* add disableLocalLogin property

* add form to external login providers

* remove unused method

* fix build errors

* add attributes for external login

* add custom view to external login

* add new custom icon registry

* attach two icon registries

* use relative paths

* use relative paths

* use main registry instead of providing directly

* add look and color to external login

* implement getIcons() method

* use getIcons() to request icons

* install remixicon to supplement backoffice icons (replacing font-awesome eventually)

* move icon registries to auth element

* Revert "install remixicon to supplement backoffice icons (replacing font-awesome eventually)"

This reverts commit 0c6659d8d9.

* add icons for common external providers

* add more icons

* remove resetCode hack as it is no longer needed

* add validation to new password

* get gretting from translation file

* add hack to get text left aligned in uui-button

* add custom router

* WIP Use router

* also change the URL during an action

* update login action to redirect to /new when needed

* redirect to login from reset and new if not allowed

* fix new password button href

* use property on login element instead of context

* check for redirect on invite-user

* move fake external login providers to index.html for use in dev server

* allow password reset on dev server

* add look and color

* only set styles for default view buttons

* suppress vite import warning

* check and inform for errors and show 'nothing' if a custom view fails to load

* fix mock path for localizedtext

* fix build errors

* ensure that msw (and all its dependencies) do not end up in the production bundle (saved ~500 KB)

* Revert AngularValueExternalLoginInfoScriptAsync removal

* forward the providerName to custom views

* change default icon

* add button look and color to external login provider options

* add obsolete to ButtonStyle and add a mapper to new values

* add required xml comments

* map external login providers to <umb-login-external />

* fix typo

* only show external login layout if there are slotted children

* pass on name as "provider"

* send externalLoginUrl to custom views

* cleanup

* global import

* hide external logins completely when empty

* cleanup

* setup redirect to invite

* rename pages to name-page

* fix names and paths

* use new password layout for invite and new password

* add comments

* cleanup and use confirmation element

* set parameters after successful verifyinvite

* map display-name and provider-name to the external element

* map display-name

* set up external login to handle correct display- and provider-name with documentation

* add support for disabling local login

* update path to handlers

* add more localization

* add handlers for 2fa

* router should support a factory for component

* push login to ?flow=mfa on 402 codes

* add page to handle 2fa/mfa

* add support for custom routing

* add fallback for welcome greeting

* handle AngularJS silliness

* fix typo

* fix router and replace custom umbroute:statechange  event with native pushState

* simplify code and cleanup

* a11y improvements

* you can now navigate to anywhere from anywhere with pushState

* access the "twoFactorView" from the backend

* set the default implemented twoFactorView to NULL

* add initial logic to handle a custom mfa view

* roll back custom pushState changes

* add mocks for 2fa custom view

* use router redirect

* re-enable click url change

* cleanup

* remove debug buttons

* add unsafeHTML to localize element

* load mfa custom views

* load custom view

* improve external login custom views

* using optimisation

* add current culture

* only show mfa page if 402 code has been encountered in same session

* format

* remove unnesesary action

* add new user invite password

* remove console log

* fix getting stuck at new password page if you've triggered custom validity

* unify layouts

* add styling to buttons in error layout

* remove unused css

* add error message to new password page

* add error message to reset password

* add error message to invite page

* fix invite page not being rendered

* cleanup

* add obsolete notice to PostSetInvitedUserPassword

* add request model to set a new password for an invited user

* add new method to handle invited user password

* add get password config api call

* fix password config parameters and add invite call

* get invited user

* get password config

* assign unique guid to login project

* add userId to get password config and use the config as validation

* fix

* add alerts

* fix the new password layout

* auth redirects invite error to error page

* use password config on new password page

* remove console log

* move file and remove unused extension

* make ts happy

* file structure

* rename login-extern to external-login-provider

* update element name

* update dependencies

* export custom-view.element.ts

* remove debug

* use umb-custom-view to load custom views

* build types

* move @umbraco/uui to the login app and import from there in backoffice

* make the ui library and icon registry generally available as exports from the login app

* add mock handler for icons

* cleanup package

* use uui for external login providers in the backoffice

* add imports and enable the backoffice icon registry globally

* disable shadowdom

* default background image

* use undefined

* revert angular values

* remove legacy sys variables

* add logic to handle mfa in an overlay scenario without routing

* add new login screen to replace the overlay when logged in to the backoffice

* update spec to work with locators

* cleanup of legacy context

* ViewData is not always required

* add method to solely return the default view of the backoffice to simply BackofficeController as well as unit tests

* add test for the login view

* cleanup usings

* Apply suggestions from code review

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

* remove 'remember me'

* add more contrast to external login divider

* update dependencies

* set "lang" attribute to lowercase

* remove default headline

* localize the "Or" divider and add aria-hidden

* remove Umbraco reference from logo and add aria-hidden

* add aria-hidden to uui-icon inside external login buttons

* format code

* update dependencies

* update dependencies

* add translations to invite user page

* use back to login button

* update localization-context.ts to match api from old LocalizeService in Angular

* add tsc to watch

* formatting

* add missing localizations

* fix a11y issues with muted text

* refresh current user after login

* remove unused variable

* add localization

* add localization for error messages

* remove unused var

* return user after login and set successful auth

* retry request queue after login

* add language keys for failed login

* add language keys for failed login

* render the views without a router so that it works inside a modal in the backoffice

* add autocomplete to reset password fields

* add autocomplete to login screen

* add generic error layout to new-password-page

* new-password-layout should be able to handle with and without username

* update language keys

* check for userId before trying to request invited user

* show error when no invited user is found

* place back-to-login button on all error layouts

* update lockfile

---------

Co-authored-by: Jesper Møller Jensen <26099018+JesmoDev@users.noreply.github.com>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2023-10-23 10:06:17 +02:00
Jacob Overgaard f8f58eacd2 Merge branch 'v12/dev' into v13/dev 2023-10-23 09:43:59 +02:00
Jacob Overgaard 3936fec57f Bump tinymce from 6.7.0 to 6.7.1 2023-10-23 09:41:15 +02:00
dependabot[bot]andJacob Overgaard 223598b037 Bump tinymce from 6.5.1 to 6.7.1 in /src/Umbraco.Web.UI.Client
Bumps [tinymce](https://github.com/tinymce/tinymce/tree/HEAD/modules/tinymce) from 6.5.1 to 6.7.1.
- [Changelog](https://github.com/tinymce/tinymce/blob/develop/modules/tinymce/CHANGELOG.md)
- [Commits](https://github.com/tinymce/tinymce/commits/6.7.1/modules/tinymce)

---
updated-dependencies:
- dependency-name: tinymce
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-23 09:36:30 +02:00
Lucas Bach BisgaardandEmma L Garland 7c59a81e5c Bug fix for compistion on member and media give 404 2023-10-22 19:22:00 +01:00
Ambert van UnenandMichael Latouche 71c00579e4 Added aria-labelledby so no longer 'empty' 2023-10-22 19:48:09 +02:00
d749731413 Condition on the userState instead of the dates. (#14950)
Co-authored-by: Lucas Bach Bisgaard <lom@novicell.dk>
2023-10-22 19:25:51 +02:00
Richard ThompsonandGitHub ed006931a4 Grant all users access to the content recycle bin (#14977)
* Grant all users access to the content recycle bin

If users don't have access to the root node of the content section they now get access to the recycle bin.

* Content editors get access to their nodes and recycle bin

All users with access to the content section will get access to the recycle bin as well as the nodes they have access to, even if they don't have access to the root of the content section
2023-10-22 18:48:52 +02:00
kjac 6a8f8a48ed Fixed merge conflicts and ensured same version of OpenIddict abstractions across the solution 2023-10-22 11:48:27 +02:00
kjac 3169ff9581 Merge branch 'v12/dev' into v13/dev
# Conflicts:
#	build/azure-pipelines.yml
#	src/Umbraco.Core/Configuration/Models/SecuritySettings.cs
#	version.json
2023-10-22 11:23:04 +02:00
Emma GarlandandMichael Latouche 16c5c4c4e8 Fixed warning SA1116 (The parameters should begin on the line after the declaration...), whenever in ctor 2023-10-22 02:20:45 +02:00
Emma GarlandandMichael Latouche f3028a00b3 Added word-wrap so block item doesn't extend over the whole line 2023-10-22 02:03:53 +02:00
Matthew CareandMichael Latouche f8b66aaf50 Fix issue with pressing enter on color picker labels
Prevent form submission when pressing enter in color picker labels, instead execute "add" code.
Improve validation highlights.
2023-10-20 01:57:06 +02:00
Richard ThompsonandGitHub 0c82b9b700 Stopped the second tab being highlighted by default (#14969)
* The second button shouldn't be highlighted automatically if it's in the second tab otherwise both the first and second tabs are highlighted

* Corrected the logic
2023-10-19 17:00:54 +01:00
Ronald BarendseandGitHub 2c572c6f72 Only pack transformed template.json file
When building and packaging at the same time, the original template.json file was still included in the generated NuGet package, which resulted in duplicate files with the same name. This change explicitly disables packaging the original file, ensuring only the transformed template.json file (containing the current Umbraco version) is included.
2023-10-19 10:49:10 +02:00
Dave WoestenborghsandGitHub b26709b0af Fix permissions for assign hostname (#14896)
* Fix permissions for assign hostname

* Reduced code duplication
2023-10-19 03:30:35 +02:00
dependabot[bot]andJason Elkin 74af2a0700 Bump @babel/traverse from 7.22.5 to 7.23.2 in /src/Umbraco.Web.UI.Client
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.22.5 to 7.23.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-18 23:50:24 +01:00
georgebidandGitHub c0b01807a4 New login page playwright test - Ensure Show/hide password button works as expected. (#14970) 2023-10-18 23:13:48 +01:00
Georgina BidderandJason Elkin 74d01c6573 our umbraco link works as expected. 2023-10-18 23:10:40 +01:00
Jan SkovgaardandGitHub d4d594bdb5 14523: Return focus to trigger element when close event occurs (#14991)
* Return focus to trigger element when close event occurs

* Add missing semi colon
2023-10-18 22:44:58 +01:00
Marc GoodsonandJason Elkin b9c7de39ed don't overwrite linkpicker title when you pick from tree IF
the editor has just typed into the linktitle
2023-10-18 20:57:30 +01:00
Ronald BarendseandGitHub 0c7f9ec64f Fix unrecognized value stageDependencies in jobs 2023-10-18 14:58:44 +02:00
Ronald BarendseandGitHub eac6af6878 Use correct stage to stage condition dependencies 2023-10-18 14:52:08 +02:00
Ronald BarendseandGitHub fb73a6a66b Remove duplicate/incorrect Umbraco.Core project reference 2023-10-18 12:17:29 +02:00
Kenn JacobsenandGitHub 684508643f Ensure additional preview URLs work on non-variant content (#14995) 2023-10-18 10:45:16 +02:00
Jacob OvergaardandGitHub 4a63788079 V12: Update Backoffice dependencies: jQuery, TinyMCE, SignalR, Ace Editor, Umbraco UI Library (#14994)
* bump @microsoft/signalr to 7.0.12

* bump @umbraco-ui/uui to 1.4.0

* bump ace editor to 1.30.0

* bump frontend build dependencies

* bump jquery to 3.7.1

* bump tinymce to 6.7.0

* bump frontend test suite tools
2023-10-18 10:44:06 +02:00
Sebastiaan Janssen 9c1abf23b0 Merge branch 'contrib' into v12/dev 2023-10-17 13:27:10 +02:00
Lucas Bach BisgaardandGitHub 738749b705 Fixes #14351 - Using Fallback to default langauge on a specific item changes the whole VariationContext (#14620) 2023-10-17 13:24:24 +02:00
b0ca3444f4 V13: Add config to limit concurrent logins (#14989)
* Add config to limit concurrent logins (#14967)

* Add new config options

* Change validation interval + related changes

* Fix typo

* Temp fix

* Set new setting to false for new dotnet projects

* Added logic to update security stamp on sign in + fixed wierd code calling handle signIn twice

* Cleanup

* Adding empty ctors

---------

Co-authored-by: Elitsa <elm@umbraco.dk>

* Set default setting to false + remove it from templates

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-10-17 12:58:02 +02:00
0a8b12793e Add config to limit concurrent logins (#14967)
* Add new config options

* Change validation interval + related changes

* Fix typo

* Temp fix

* Set new setting to false for new dotnet projects

* Added logic to update security stamp on sign in + fixed wierd code calling handle signIn twice

* Cleanup

* Adding empty ctors

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
2023-10-17 10:23:52 +02:00
Kenn JacobsenandGitHub ea4f07bd08 Create matcher policy to pick the correct item endpoint (#14987) 2023-10-17 08:55:09 +02:00
7cf1ad7592 add Audit Trail to the media info tab just alike the conten (#14781)
* add Audit Trail to the media info tab just alike the conten

* Change the tranlation from "content ..." to "Media ..."

---------

Co-authored-by: Lucas Bach Bisgaard <lom@novicell.dk>
2023-10-16 16:55:30 +01:00
Sebastiaan Janssen 13913cd9fb Merge branch 'v12/dev' into contrib
# Conflicts:
#	version.json
2023-10-16 12:53:07 +02:00
Kenn JacobsenandGitHub 4bd9baa2eb Backport Delivery API member auth from V14 (#14964)
* Backport Delivery API member auth from V14

* Add default implementations to avoid breakage

* Review changes
2023-10-16 11:25:29 +02:00
4520fbe5b8 Out-of-date models status flag is created when using SourceCodeManual and Development Runtime (#14966)
* Update UmbracoBuilderDependencyInjectionExtensions.cs

* Remove duplicate OutOfDateModelStatus handlers

---------

Co-authored-by: Ronald Barendse <ronald@barend.se>
2023-10-16 10:46:58 +02:00
Owain JonesandGitHub 1b3642e7f3 Updated Welsh lang file (#14978)
* Added missing Welsh translations

* added missing mfa en_us keys

* Removed outdated lang keys from the cy lang file

* Fixed some instances of &lt;/&gt; to use actual angle brackets in the cy lang file.
2023-10-15 01:09:09 +02:00
0b5d1f8aa6 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>
2023-10-14 17:13:26 +02:00
Georgina BidderandSebastiaan Janssen 8b1191c332 help links tests + clean up of system info 2023-10-14 16:04:15 +02:00
Bjarne FyrstenborgandEmma L Garland 70d36301ab Remove duplicate name attribute in 2FA login form 2023-10-14 10:56:34 +01:00
Bram HovenandGitHub b8928e9de0 Add IExceptionHandlerFeature check to dynamic route check (#14905)
* Add IExceptionHandlerFeature check to dynamic route check

* Decrease code complexity
2023-10-14 02:01:59 +02:00
Erik-Jan WestendorpandEmma L Garland 73fc6bdcdf a11y improvement 2023-10-13 13:47:53 +01:00
b850cd3ee0 Add SetMemberSignInManager builder extension (#14761)
* Add SetMemberSignInManager builder extension

* Added required using statement

---------

Co-authored-by: Emma Garland <emma.garland@rocksolidknowledge.com>
2023-10-13 12:30:13 +01:00
Lucas Bach BisgaardandGitHub 0ece94bf46 Bug fix whre mediapicker dont load before an event fires elsewhere #14250 (#14803) 2023-10-13 10:34:45 +01:00
Andreas ZerbstandGitHub ace8d80183 Refactored from ISystemClock to TimeProvider (#14963)
* Removed obsolete ISystemClock. The SecurityStampValidator provides the TimeProvider.

* Removed obsolete ISystemClock.

* Refactored obsolete ISystemClock with TimeProvider
2023-10-12 13:58:51 +02:00
6fb2550690 V14/feature/response model trash tracking (#14948)
* Clearify UmbracoMapper functionality trough comment

* Add trash tracking to doc/media(item) response models

* Add mapping for ITracksTrashing

* Removed uneccesary abstraction and seperation

* Cleanup after removing abstractions

* Cleanup unused DI item

* Clean up and formatting

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: kjac <kja@umbraco.dk>
2023-10-12 07:00:06 +02:00
Michael 0362dcffc8 Remove submodule 2023-10-12 03:21:53 +02:00
KNOWIT\anndal3andMichael Latouche 612b6039f2 Add aria label to umbraco property 2023-10-12 02:22:21 +02:00
Elitsa MarinovskaandGitHub 517e0e9d19 Removing dev certificates and adding enc and signing keys that are required by OpenIddict but won't be used when we calling UseDataProtection() (#14958) 2023-10-11 14:15:08 +02:00
Ronald BarendseandGitHub b6f0db7b73 Fix build logging of warnings/errors during packaging step (#14933)
* Use DotNetCoreCLI for dotnet pack command

* Use NBGV to get major version and set build number

* Use NBGV_PublicRelease to determine stable build

* Use latest Node patch versions

* Generate NuGet packages during build
2023-10-11 11:25:05 +02:00
Nikolaj GeisleandGitHub 443f03688e Fix update to update foreach Group (#14945) 2023-10-11 10:46:25 +02:00
Mads RasmussenandGitHub 332ef6fa7e align user import map (#14952) 2023-10-11 10:01:22 +02:00
Bjarke Berg 838fd95f41 Merge remote-tracking branch 'origin/v13/dev' into v14/dev
# Conflicts:
#	tests/Umbraco.Tests.AcceptanceTest/package-lock.json
#	tests/Umbraco.Tests.AcceptanceTest/package.json
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/BlockGridEditor/Content/blockGridEditorAdvanced.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/BlockGridEditor/Content/blockGridEditorAreasContent.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/BlockGridEditor/Content/blockGridEditorSettings.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/BlockGridEditor/Datatype/BlockGridEditorDataTypeBlocks.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/BlockListEditor/blockListEditorDocument.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/content.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/routing.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/partialViews.spec.ts
2023-10-10 13:47:18 +02:00
Bjarke Berg 42bc50eccf Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2023-10-10 13:44:46 +02:00
Bjarke Berg 0844cb8b29 Merge remote-tracking branch 'origin/v11/dev' into v12/dev
# Conflicts:
#	src/Umbraco.Core/Services/ContentService.cs
#	tests/Umbraco.Tests.AcceptanceTest/package-lock.json
#	tests/Umbraco.Tests.AcceptanceTest/package.json
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/BlockGridEditor/Content/blockGridEditorAdvanced.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/BlockGridEditor/Content/blockGridEditorAreasContent.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/BlockGridEditor/Content/blockGridEditorSettings.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/BlockGridEditor/Datatype/BlockGridEditorDataTypeBlocks.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/content.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/ModelsBuilder/modelsbuilder.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/partialViewMacroFiles.spec.ts
2023-10-10 12:49:22 +02:00
Bjarke Berg e6a1640c1b Merge remote-tracking branch 'origin/v10/dev' into v11/dev
# Conflicts:
#	tests/Umbraco.Tests.AcceptanceTest/package-lock.json
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Content/content.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/DataTypes/dataTypes.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/ModelsBuilder/modelsbuilder.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/partialViews.spec.ts
2023-10-10 12:27:33 +02:00
Bjarke BergandGitHub 41f8f03c2c Fixed a couple of occurrences where scopes was auto-completed while modified db state (#14947)
* Fixed a couple of occurrences where scopes was auto-complated while actually modified the state of the database.

* Added temp ctor to fix boot issue
2023-10-10 11:51:47 +02:00
Jacob Overgaard 7995df6cfd update backoffice submodule 2023-10-09 17:33:53 +02:00
Mads RasmussenandGitHub 99a1aa9301 update event path in importmap (#14844) 2023-10-09 16:15:40 +02:00
Richard OckerbyandEmma L Garland 6e154e0a0f Corrected mark-up
An extra closing div tag was lurking around
2023-10-09 08:48:15 +01:00
Vitor RodriguesandLaura Neto 39492f9654 Fixed URL tracking not working for invariant pages with culture variant ancestors 2023-10-06 18:30:02 +02:00
Erik-Jan WestendorpandEmma L Garland 6e937692be Update MemberService.cs 2023-10-06 13:54:48 +01:00
Erik-Jan WestendorpandEmma L Garland 7aa246b855 Update MediaController 2023-10-06 13:46:07 +01:00
JamesandEmma L Garland cd2855634e Update umbBlockGridPropertyEditor.component.js
currently checks the first group or tab (index 0) that was added to see if there are properties.

This doesn't work well when the tab has a single group, and the group is created after the tab, as the tab will be empty, even though the group has the properties. 

there is also some interactions when composing tabs from other doc types, but I didn't have a good amount of time to test this.
2023-10-06 13:22:29 +01:00
Bjarne FyrstenborgandEmma L Garland 46b0833d52 Pass in format parameter 2023-10-06 12:13:22 +01:00
Bjarne FyrstenborgandEmma L Garland d3ceeb0ace Update keywords 2023-10-06 12:13:22 +01:00
Bjarne FyrstenborgandEmma L Garland b917d64eec Allow to specify format and parsing format in dateHelper functions 2023-10-06 12:13:22 +01:00
Jacob Overgaard 5b57234b52 update backoffice submodule 2023-10-06 12:04:21 +02:00
Mads RasmussenandGitHub ded1cbb9fa update import map to repository module (#14845) 2023-10-06 12:03:45 +02:00
justinbotgerandMichael Latouche 9e168f6502 Updated Dutch translation for "import"
Updated Dutch translation for "import"
2023-10-06 10:44:44 +02:00
Kenn JacobsenandGitHub 05522010d8 Default value editors for all (meaningful) value types (#14928)
* Expose editor UI alias in published property type, so custom value converters can use it

* Add default property value converters for all value types (#14869)

* Add default property value converters for all value types

* Clean up some left-over stuff

(cherry picked from commit ce86abe8ac)

* Added "plain" property editors for all (meaningful) value types
2023-10-06 10:42:23 +02:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
961f6a0bab Bump postcss from 8.4.24 to 8.4.31 in /src/Umbraco.Web.UI.Client (#14920)
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.24 to 8.4.31.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.24...8.4.31)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-05 15:41:17 +02:00
thomashdkandLaura Neto ced8e0582d Update umb-tabs-nav.html
Added data-element="tab-{{tab.alias}}" to the dropdown tabs list
2023-10-03 19:29:56 +02:00
Laura NetoandGitHub 44a4abdfbd Updating contributing docs to add unwanted changes section (#14853)
* Updating contributing docs to add unwanted changes section

* Added new section to table of contents
2023-10-03 17:44:10 +01:00
1cac8ffe88 made link to umbraco learning base youtube visible with underline sty… (#14884)
* made link to umbraco learning base youtube visible with underline style as per the other links on other dashboards.

* Update membersdashboardvideos.html

---------

Co-authored-by: Georgina Bidder <georgina.bidder@truedigital.co.uk>
Co-authored-by: georgebid <91198628+georgebid@users.noreply.github.com>
2023-10-03 17:42:29 +01:00
Bjarne FyrstenborgandGitHub 34892101a9 Ensure focus on specific action in block card (#14846)
* Ensure focus on specific action in block card

* Move if statement to parent

* Change buttons in groups as well

* Adjust styling
2023-10-03 17:02:20 +01:00
Erik-Jan WestendorpandMichael Latouche 930f9f6704 Translate dictionary_noItemsFound 2023-10-03 16:19:59 +02:00
Anders BjernerandGitHub 4932119807 Replaced [MaybeNullWhen(false)] with [NotNullWhen(true)] for UdiParser.TryParse method (#14880)
* Replaced [MaybeNullWhen(false)] with [NotNullWhen(true)] for UdiParser.TryParse method

* Removing some empty lines
2023-10-03 14:43:54 +02:00
Kenn JacobsenandGitHub ce86abe8ac Add default property value converters for all value types (#14869)
* Add default property value converters for all value types

* Clean up some left-over stuff
2023-09-28 13:20:03 +02:00
Jacob Overgaard 5c63561629 update backoffice submodule 2023-09-28 12:41:29 +02:00
83321a8fad Add member auth to the Delivery API (#14730)
* Refactor OpenIddict for shared usage between APIs + implement member authentication and handling within the Delivery API

* Make SwaggerRouteTemplatePipelineFilter UI config overridable

* Enable token revocation + rename logout endpoint to signout

* Add default implementation of SwaggerGenOptions configuration for enabling Delivery API member auth in Swagger

* Correct notification handling when (un)protecting content

* Fixing integration test framework

* Cleanup test to not execute some composers twice

* Update paths to match docs

* Return Forbidden when a member is authorized but not allowed to access the requested resource

* Cleanup

* Rename RequestMemberService to RequestMemberAccessService

* Rename badly named variable

* Review comments

* Hide the auth controller from Swagger

* Remove semaphore

* Add security requirements for content API operations in Swagger

* Hide the back-office auth endpoints from Swagger

* Fix merge

* Update back-office API auth endpoint paths + add revoke and sign-out endpoints (as of now they do not exist, a separate task will fix that)

* Swap endpoint order to maintain backwards compat with the current login screen for new back-office (will be swapped back again to ensure correct .well-known endpoints, see FIXME comment)

* Make "items by IDs" endpoint support member auth

* Add 401 and 403 to "items by IDs" endpoint responses

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
Co-authored-by: Elitsa <elm@umbraco.dk>
2023-09-26 09:22:45 +02:00
Kenn JacobsenandGitHub ccd54bfb0e Fix property variance cache issue (#14824)
* Property variance should be the union of variance between content type and property type

* Fix a few comments in the tests

* Review changes
2023-09-25 13:45:28 +02:00
Bjarke Berg 624f9a0508 Checkout submodule for v14 integration tests 2023-09-25 11:35:29 +02:00
Bjarke Berg c653dff3c0 Cleanup duplicate package references 2023-09-25 11:21:58 +02:00
Bjarke Berg d2410d5150 Bump version 2023-09-22 10:56:28 +02:00
Bjarke Berg 866ef1a886 Merge remote-tracking branch 'origin/v13/dev' into v14/dev 2023-09-22 10:56:05 +02:00
Bjarke Berg 06272d9337 Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2023-09-22 10:54:25 +02:00
CarlandJason Elkin 511ee96c9e Fix spelling mistake, and add details of additional packages
Notices this spelling mistake, quick fix
2023-09-22 09:53:12 +01:00
Bjarke BergandGitHub d39502674e Added our own db context pool, that basically bypass the bool until umbraco is in Run mode (#14852) 2023-09-22 10:38:55 +02:00
Bjarke Berg 3184bdf5a9 Merge remote-tracking branch 'origin/v13/dev' into v14/dev 2023-09-22 10:24:40 +02:00
Bjarke Berg 43cc3b8314 Rollback unintended changes to imagesharp 2 2023-09-22 10:22:25 +02:00
Jason Elkin 336b7ff499 Revert ""big PR" github action"
This reverts commit a3cfbbf56a.
2023-09-21 15:04:14 +01:00
Jason Elkin a3cfbbf56a "big PR" github action 2023-09-21 15:02:06 +01:00
Nikolaj Geisle 4ee21f19f9 Merge remote-tracking branch 'origin/release/12.2' into v12/dev
# Conflicts:
#	version.json
2023-09-21 09:59:07 +02:00
Kenn JacobsenandGitHub 2335924b57 Ensure that value type JSON is translated correctly for Delivery API output (#14839) 2023-09-21 09:25:29 +02:00
b8f948785a Added necesary classes to define the StringPropertyEditor (#14769)
* Added necesary classes to define the StringPropertyEditor

* Removed unnecesary code, baseclass takes care of everything

* More cleanup and added a propertyValueConverter

* Upped the expected default dataEditors in tests by 1 since we added one.

* Fixed a bad undo action

* PR feedback Removed unnecesary code and simplified methods

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
2023-09-20 14:49:53 +02:00
Bjarke Berg 49c71b1989 Merge 2023-09-20 14:13:21 +02:00
Bjarke Berg 03108f4af4 Merge remote-tracking branch 'origin/v13/dev' into v13/dev 2023-09-20 13:12:57 +02:00
Zeegaan 173d8dcf47 Bump version 2023-09-20 10:29:50 +02:00
Bjarke Berg 9f0f6279b4 Merge remote-tracking branch 'origin/v12/dev' into v13/dev
# Conflicts:
#	tests/Umbraco.Tests.Integration/CompatibilitySuppressions.xml
2023-09-20 10:11:12 +02:00
Bjarke Berg aa7632b271 Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2023-09-20 10:03:39 +02:00
Bjarke Berg e263db7b3b post merge fix 2023-09-20 10:02:58 +02:00
Bjarke Berg 912e9f277e post merge fix 2023-09-20 10:02:25 +02:00
Bjarke Berg ed73b82fd0 Merge remote-tracking branch 'origin/v11/dev' into v12/dev
# Conflicts:
#	tests/Umbraco.Tests.Integration/NewBackoffice/OpenAPIContractTest.cs
#	tests/Umbraco.Tests.Integration/Umbraco.Core/Services/ContentServiceTests.cs
2023-09-20 09:51:56 +02:00
Bjarke Berg 4dd3c295e0 Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2023-09-20 09:43:41 +02:00
Bjarke Berg 8050bb97af Merge remote-tracking branch 'origin/release/14.0' into v14/dev 2023-09-19 15:31:20 +02:00
Bjarke Berg 964e3b5797 Fixed test 2023-09-19 15:30:48 +02:00
Bjarke Berg c0e378cc41 fixed issue after minimal hosting model 2023-09-19 14:59:46 +02:00
Bjarke Berg 463068c07b Updated to latest .net and fixes small issues with installer after 2023-09-19 14:57:24 +02:00
Bjarke Berg 4f98b546c5 Merge branch 'release/14.0' into v14/dev 2023-09-19 14:53:27 +02:00
Bjarke Berg ac8663ea13 Merge remote-tracking branch 'origin/v13/dev' into v14/dev 2023-09-19 13:02:53 +02:00
Bjarke BergandGitHub 989759fa20 Updated NuGet Dependencies (#14795)
* Updated nuget packages and fixed breaking changes in ImageSharp

* Update to .net8 rc1
2023-09-19 11:23:20 +02:00
Bjarke Berg e059ac2e5b Add missing ImportMap replacement 2023-09-19 10:55:10 +02:00
Andreas ZerbstandGitHub e132bcb2a6 We updated our locator to use data-element instead of alias (#14828) 2023-09-19 10:50:58 +02:00
Bjarke Berg c4f5a2aca8 Merge remote-tracking branch 'origin/v13/dev' into v14/dev 2023-09-19 10:44:02 +02:00
Bjarke Berg a133a4b57b We need to explicty call UseAntiforgery, otherwise it is called automatically before our middleware that will lead to UmbracoRouteValueTransformer being called instead of static file middleware. 2023-09-19 10:22:42 +02:00
Bjarke Berg 96397adf1f UseDeveloperExceptionPage is called automatically in minimal hosting model 2023-09-19 10:21:32 +02:00
Arkadiusz BielandGitHub 86697ff137 fix: ensured that allowed user name characters are supported in backoffice users as well (#14810) 2023-09-18 14:55:59 +02:00
Jacob Overgaard 4b918cbb3a update backoffice submodule 2023-09-15 14:06:43 +02:00
Mads RasmussenandGitHub cb4d8e34ce Feature: Add buttons for additional preview URLs (#14773)
* add button group for multiple preview urls

* generate default + sub buttons for urls

* allow button group to render label without a localisation key

* remove the existing preview button

* add data-element attr for buttons for tours + tests

* use info button style

* set the target of the new window

* get the additional preview urls from the active variant
2023-09-15 09:44:50 +02:00
Jacob Overgaard 643b79c145 V12: Property editors should only contain layout when in preview mode (#14796)
* Revert "Make sure the property editor layout is contained within its container (prevent Z-index bleed-through) (#13583)"

This reverts commit 8463d906a7.

* remove seemingly unused attribute readonly

* contain everything with contain:layout

this is set if the property editor is in preview mode to make sure all overlays work

* Revert "remove seemingly unused attribute readonly"

This reverts commit 7a2743e8f6.
2023-09-15 09:19:23 +02:00
Jacob Overgaard 7bbe994fc9 Merge remote-tracking branch 'origin/v10/dev' into v11/dev
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/less/components/umb-property-editor.less
2023-09-14 13:20:55 +02:00
Jacob OvergaardandGitHub 614aee2fec V12: Property editors should only contain layout when in preview mode (#14796)
* Revert "Make sure the property editor layout is contained within its container (prevent Z-index bleed-through) (#13583)"

This reverts commit 8463d906a7.

* remove seemingly unused attribute readonly

* contain everything with contain:layout

this is set if the property editor is in preview mode to make sure all overlays work

* Revert "remove seemingly unused attribute readonly"

This reverts commit 7a2743e8f6.
2023-09-14 13:17:35 +02:00
Kenn JacobsenandGitHub 981bf09325 Minor Management API changes from FE (#14804)
* Change document delete into move-to-recycle-bin

* Make it possible to supply an explicit ID when creating content and media

* Change media delete into move-to-recycle-bin

* Merge "allowed child content types" controllers into one + fixed a bug that allowed all types if none were defined

* Update OpenAPI JSON to reflect merged endpoints
2023-09-14 10:07:08 +02:00
Andreas ZerbstandGitHub 8ae4c6bf5b V12 Fixed flaky tests (#14789)
* Added a longer timeout for the tests. Also bumped the timeout for isSuccessNotificationVisible

* Added a longer timeout for our tests and the isSuccessNotificationVisible method

* Updated the locator for the flaky test. The locator we had before could sometimes find two elements, which resulted in flaky tests.

* Bumped version of playwright

* Updated to use isSuccessNotificationVisible()

* Added a wait for timeout

* Updated to use isSuccessNotificationVisible()

* Bumped the timeouts

* Bumped our timeouts

* Bumped version of our testhelpers

* Updated the button for save and publish and added an wait for timeout

* Added a missing save for the test

* The test could sometimes find two locators. It should be fixes now

* Removed old usage of notification to be visible

* Removed unnecessary timeouts since we have defined the timeouts in the test helpers
2023-09-13 14:01:08 +02:00
Sebastiaan JanssenandGitHub 1f24b79531 Update README.md 2023-09-13 08:38:54 +02:00
Johan MöllerandGitHub 0bbda02931 Fixes #14722 - DateTime picker calendar does not get updated when custom date format (#14767)
* Seperate properties for input ng-model and datepicker.

Since flatpickr can't handle custom formatting.

* Set picker format to default.
2023-09-12 17:22:29 +01:00
Bjarke Berg 925b195e4c Updated submodule and fixed import map 2023-09-12 10:40:05 +02:00
Bjarke Berg 45abec6e88 Merge remote-tracking branch 'origin/v14/feature/front-end-importmap-update' into v14/dev
# Conflicts:
#	src/Umbraco.Cms.StaticAssets/umbraco/UmbracoBackOffice/Default.cshtml
#	src/Umbraco.Cms.StaticAssets/umbraco/UmbracoInstall/Index.cshtml
2023-09-12 10:35:53 +02:00
Bjarke Berg 8ca57c50c2 Merge remote-tracking branch 'origin/v13/dev' into v14/dev 2023-09-12 10:22:37 +02:00
Bjarke Berg 8af8a2b755 Merge remote-tracking branch 'origin/v13/dev' into v13/dev 2023-09-12 09:57:41 +02:00
Bjarke Berg 3fe34d520f Merge remote-tracking branch 'origin/v12/dev' into v13/dev
# Conflicts:
#	version.json
2023-09-12 09:57:30 +02:00
Bjarke Berg 2d76e447bb Post merge build fix 2023-09-12 09:53:10 +02:00
Bjarke Berg 2ce0505784 Merge remote-tracking branch 'origin/v11/dev' into v12/dev
# Conflicts:
#	src/Umbraco.Core/Services/ContentService.cs
2023-09-12 09:50:35 +02:00
Bjarke Berg d47d79af6a Merge remote-tracking branch 'origin/release/12.2' into v12/dev 2023-09-12 09:50:05 +02:00
Bjarke Berg bd9b30f143 Merge remote-tracking branch 'origin/v10/dev' into v11/dev
# Conflicts:
#	version.json
2023-09-12 09:46:24 +02:00
Bjarke Berg ca8c260b6c Bump version 2023-09-12 09:46:07 +02:00
Bjarke Berg f332fe325e Merge branch 'release/11.5' into v11/dev 2023-09-12 09:45:23 +02:00
trba1810andMichael Latouche 7f318e8993 added validation messages in swedish language 2023-09-12 09:00:51 +02:00
Johan MöllerandGitHub 916e495dc4 Fixes: #14486 - Some sr-only texts not localized (#14750)
* Add visuallyHiddenTexts area and keys to swedish

Translations contributed by @plannero

* Add missing localizations.

* Revert prettier formatting

* Format in visual studio

* Change default UpgradeUnattended value to true (#13281)

* add labels to default en.xml + small glitch fix
2023-09-12 08:26:49 +02:00
Mads RasmussenandJacob Overgaard db98f88773 add culture module 2023-09-11 15:24:04 +02:00
Mads RasmussenandJacob Overgaard 622041fabc rename context module to app module 2023-09-11 15:23:45 +02:00
Andreas ZerbstandJacob Overgaard c42ca63b8d Added test for checking if settings model contains default value (#14513)
* Added test for checking if a settings model contains default value.
Fixed tests

* Bumped version

* Moved createSliderWithDefaultValue function to our testHelpers. Removed the use of count in test since there was only one
2023-09-11 15:16:41 +02:00
Jacob Overgaard cee485c6db Render all tabs in the background to ensure they register their initial state on any $scope.model in the stack. (#14493)
Sometimes a tab, e.g. a "block list settings model" might register some default values, but if the user never clicks on the tab then they are not registered due to how AngularJS renders views with "ng-if".
2023-09-11 15:16:20 +02:00
Bjarne FyrstenborgandEmma L Garland 417e37ab1e Clean output 2023-09-11 12:02:20 +01:00
Bjarne FyrstenborgandEmma L Garland 2ea4b5793d Fallback to value in case no label exists 2023-09-11 12:02:20 +01:00
Bjarne FyrstenborgandEmma L Garland bfdd71944a Cleanup 2023-09-11 12:02:20 +01:00
Bjarne FyrstenborgandEmma L Garland 0296e70b30 Update syntax 2023-09-11 12:02:20 +01:00
Bjarne FyrstenborgandEmma L Garland da92c38dec Newer JS syntax 2023-09-11 12:02:20 +01:00
Bjarne FyrstenborgandEmma L Garland 65321e8f68 Simplify radiobuttonlist prevalue editor 2023-09-11 12:02:20 +01:00
Bjarne FyrstenborgandEmma L Garland 1f97c62a1b Update class name 2023-09-11 12:00:36 +01:00
Bjarne FyrstenborgandEmma L Garland c285caf260 Add dropdown prevalue editor 2023-09-11 12:00:36 +01:00
Jacob Overgaard 4e0f6a5696 update backoffice submodule 2023-09-08 13:58:26 +02:00
Niels LyngsøandJacob Overgaard 8cb0862142 append 3 more things to the import maps of C# 2023-09-08 13:49:13 +02:00
Jacob Overgaard 597b0a2be2 update submodule 2023-09-08 13:39:35 +02:00
Jacob Overgaard 420503fe40 bump to preview003 2023-09-08 13:39:11 +02:00
Niels Lyngsø ff0c2ef57c append 3 more things to the import maps of C# 2023-09-08 13:33:09 +02:00
Niels LyngsøandJacob Overgaard 10047c7ea8 update sub module 2023-09-08 10:08:04 +02:00
Bjarke Berg 81b0886021 Fix issue with too long audit log messages 2023-09-07 08:55:27 +02:00
Nikolaj Brask-NielsenandGitHub 6d48091328 docs: XML warnings (#14663)
* chore: Fix XML warnings

* docs: Fix XML warnings

* docs: Fix XML in resource designer

* docs: Fix XML warnings

* Revert "docs: Fix XML in resource designer"

This reverts commit 8ea61c51ac.
2023-09-06 20:08:17 +02:00
Elitsa MarinovskaandGitHub eef0da096e Being able to specify a start item in preview through Start-Item header (#14757) 2023-09-06 10:18:04 +02:00
Kenn JacobsenandGitHub 280d0a236b Breaking changes for the Delivery API (#14745)
* Use interfaces for API media return values + introduce dedicated models for crops and focal points

* Move content and media controllers to their own namespaces
2023-09-06 09:49:44 +02:00
Bjarke Berg 28d16f69ba bump version 2023-09-06 08:51:36 +02:00
147b46440f V10/bugfix/14543 publish descendants (#14763)
* WIP: Fix publish descendants and related notifications

* Removed related entitities from publish notification

* Fixed root not being saved when publishingWithDescendants

* Updated integrationtests to reflect the update view on when to save the root when its part of a branch

* PR formatting fix

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

* PR Cleanup

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

* Spicing up the codebase with some PR pattern matching

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

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2023-09-05 10:25:21 +02:00
Sebastiaan Janssen 401c881567 Merge branch 'contrib' into v12/dev 2023-09-05 10:09:02 +02:00
Bjarke Berg 297b954df4 Merge remote-tracking branch 'origin/v11/dev' into release/11.5
# Conflicts:
#	version.json
2023-09-05 08:05:18 +02:00
Bjarke Berg fd8f809524 bump version 2023-09-05 08:04:16 +02:00
e4cc2a0550 Fix/in browser postman auth & editor config boolean serialization (#14739)
* Add in-browser postman callback url

* Added a jsonconverter for property editor configuration boolean values that are persisted as numbers and serialized as strings...

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
2023-09-04 14:24:37 +02:00
Bjarke Berg dede983941 Merge remote-tracking branch 'origin/v13/dev' into v14/dev 2023-09-04 10:50:18 +02:00
Bjarke Berg c21530e17a Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2023-09-04 10:50:00 +02:00
Ronald BarendseandBjarke Berg 003ac02009 Revert #13281 and only set UpgradeUnattended value to true for new projects (#14764)
* Revert "Change default UpgradeUnattended value to true (#13281)"

This reverts commit e5d6372dbd.

* Set UpgradeUnattended value to true for new projects
2023-09-04 10:49:33 +02:00
Ronald BarendseandGitHub bc68f11d82 Revert #13281 and only set UpgradeUnattended value to true for new projects (#14764)
* Revert "Change default UpgradeUnattended value to true (#13281)"

This reverts commit e5d6372dbd.

* Set UpgradeUnattended value to true for new projects
2023-09-04 10:49:19 +02:00
Bjarke Berg ffa664f217 Merge remote-tracking branch 'origin/v13/dev' into v14/dev 2023-09-04 10:45:50 +02:00
Bjarke Berg 134ec4ece9 Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2023-09-04 10:30:56 +02:00
Bjarke Berg 155efb8019 Merge remote-tracking branch 'origin/v12/dev' into v12/dev 2023-09-04 10:29:19 +02:00
Ronald BarendseandBjarke Berg 5c7b3a3d48 Change default UpgradeUnattended value to true (#13281) 2023-09-04 10:29:05 +02:00
Ronald BarendseandGitHub e5d6372dbd Change default UpgradeUnattended value to true (#13281) 2023-09-01 15:45:06 +01:00
4f5fc0b8a1 Bulk delete functionality for management api (#14735)
* Bulk delete

* Bulk delete

* Added bulk delete user groups

* Clean

---------

Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
2023-08-29 15:51:20 +02:00
Vitor RodriguesandSebastiaan Janssen efe00910f3 DeliveryApi: Ensure the ContentType property is serialized first
This is needed so it can be used as a discriminator field by System.Text.Json
Changed both ApiElement and IApiElement to ensure not only ApiContentResponse,
but also ApiBlockItem, which uses the interface directly, are adjusted.
2023-08-29 12:34:36 +02:00
Vitor RodriguesandSebastiaan Janssen 4d80073547 Fixed incorrect BlockListPropertyValueConverter delivery api property value type 2023-08-29 09:59:42 +02:00
Sebastiaan Janssen 1bcfcf4e84 Merge branch 'v12/dev' into contrib 2023-08-28 12:49:14 +02:00
Bjarke Berg a07d29b76a Merge remote-tracking branch 'origin/v14/dev' into v14/dev 2023-08-28 12:17:40 +02:00
Bjarke Berg 1b3f7afe20 Use the IFileStreamSecurityValidator in the temporary file service 2023-08-28 12:17:34 +02:00
b8af4bab7d User forgot password functionality for Management API (#14704)
* Added attribute filter to ensure a request is taking a minimum time to response

* Added functionality to management api to send forgot password emails and verify these + do the actual reset using the token

* Renamed UserKey to UserId and updated OpenApi.json

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

Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>

* Cleanup

* Renaming param

* Fixing send user username instead of email + wrong EmailTypes

* Fixed issue with forgot password functionality after reusing other functionality

* Rename prop

* Adding docs and renaming param

* Handle password validation return types

* More cleanup

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
2023-08-28 12:14:16 +02:00
Bjarke Berg 6fbf04592c Merge remote-tracking branch 'origin/v13/dev' into v14/dev
# Conflicts:
#	build/azure-pipelines.yml
#	src/Umbraco.Cms.Api.Delivery/Controllers/DeliveryApiControllerBase.cs
#	src/Umbraco.Core/DependencyInjection/UmbracoBuilder.cs
#	src/Umbraco.Infrastructure/PropertyEditors/FileUploadPropertyValueEditor.cs
#	src/Umbraco.Infrastructure/PropertyEditors/ImageCropperPropertyValueEditor.cs
#	src/Umbraco.Web.BackOffice/Controllers/MediaController.cs
#	tests/Umbraco.Tests.Integration/Umbraco.Infrastructure/Packaging/PackageDataInstallationTests.cs
#	tests/Umbraco.Tests.Integration/Umbraco.Infrastructure/Services/LocalizationServiceTests.cs
2023-08-28 11:46:22 +02:00
Bjarke Berg d43e6abc8b Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2023-08-28 11:40:36 +02:00
Bjarke Berg 4964066b59 Merge remote-tracking branch 'origin/v11/dev' into v12/dev
# Conflicts:
#	src/Umbraco.Web.BackOffice/Controllers/MediaController.cs
#	version.json
2023-08-28 11:39:20 +02:00
Bjarke Berg b7738f5d17 Merge remote-tracking branch 'origin/release/12.1' into v12/dev
# Conflicts:
#	version.json
2023-08-28 11:38:52 +02:00
Bjarke Berg 630bbc1e12 Merge remote-tracking branch 'origin/v10/dev' into v11/dev
# Conflicts:
#	version.json
2023-08-28 11:38:15 +02:00
Bjarke Berg f35b31956a Merge remote-tracking branch 'origin/release/11.5' into v11/dev 2023-08-28 11:36:56 +02:00
Bjarke BergandGitHub b17a7689ab Fixed up the relation management api endpoints to use guids and paging (#14706)
* Fixed up the relation management api endpoints to use guids and paging

* Cleanup

* Updated OpenApi.json
2023-08-28 11:16:56 +02:00
Nikolaj Brask-NielsenandSebastiaan Janssen fdb0bed960 test: Simplify test project references 2023-08-28 11:08:06 +02:00
Sebastiaan Janssen ab48af878a Merge branch 'contrib' into v12/dev 2023-08-28 10:16:35 +02:00
Sebastiaan Janssen d7ae0aa129 Merge branch 'contrib' of https://github.com/umbraco/Umbraco-CMS into contrib
# Conflicts:
#	src/Umbraco.Cms.Persistence.EFCore/UmbracoDbContext.cs
2023-08-28 10:02:43 +02:00
Nikolaj 9230b253b6 Bump version 2023-08-28 09:47:14 +02:00
Nathan WoulfeandNikolaj 27441dfee1 Don't pass content object to save method - it's not a suitable label key :) (#14496)
* don't set label key to entire content model...

* Remove the default parameter value

---------

Co-authored-by: kjac <kja@umbraco.dk>
(cherry picked from commit 5dfb914e0f)
2023-08-28 09:46:44 +02:00
f2d11e3095 Add content and media sorting to the Management API (#14712)
* Add content and media sorting to the Management API

* Rename "id" to "key" throughout the ContentEditingService

* Update Open API json file

* Use "key" instead of "id" in ContentEditingServiceBase

* Use "key" instead of "id" in IMediaEditingService and MediaEditingService

* Turn delegates into abstracts + fix bug that allowed deleting items outside of the recycle bin

* Use PUT instead of POST

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

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

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

Co-authored-by: Bjarke Berg <mail@bergmania.dk>

* Update Open API JSON

---------

Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-08-28 08:56:57 +02:00
Bjarke Berg 3a53f51ef3 Remove parsing of short into integer (#14721) 2023-08-25 13:08:51 +02:00
Christian Funder SommerlundandGitHub fec51a9ec5 Add ReSharperTestRunner64 to the assembly exclusion list in TypeFinder (#14498) 2023-08-24 13:06:21 +02:00
Nikolaj f2b0c0e8eb Bump version 2023-08-24 10:44:01 +02:00
Nikolaj Brask-NielsenandGitHub 3f6ebe7656 feat: Let the DbContext handle the connection to the database (#14674) 2023-08-24 10:15:18 +02:00
Kenn JacobsenandGitHub a9d7f3cbbb Content type and media type container CRUD controllers and services (#14682)
* CRUD for content and media type folders + refactor data type folder CRUD controllers and services to match

* Correct response types + update OpenAPI JSON

* Review changes

* Review changes

* Update OpenAPI JSON after merge
2023-08-24 09:32:36 +02:00
Andreas ZerbstandGitHub 98bcf15373 Added missing scope (#14711) 2023-08-23 13:24:16 +02:00
Ronald BarendseandNikolaj f97e9a9f34 Fix exceptions in Slider and Tags property value converters (#13782)
* Fix IndexOutOfRangeException when converting single value to range in SliderValueConverter

* Fix NullReferenceException while deserializing empty value in TagsValueConverter

* Use invariant decimal parsing

* Handle converting from slider to single value

* Fix parsing range as single value

* Make Handle methods autonomous

---------

Co-authored-by: nikolajlauridsen <nikolajlauridsen@protonmail.ch>
2023-08-23 10:55:48 +02:00
Elitsa MarinovskaandGitHub d553297369 V12: Get multiple items by ids endpoints (#14702)
* Adding get multiple items by their ids endpoint

* Adding get multiple items by their ids endpoint for the Media API as well
2023-08-23 07:13:20 +02:00
Nikolaj Brask-NielsenandGitHub 7b336c45f7 perf: Don't call GetNextUsers when we don't have to (#14670) 2023-08-22 15:52:27 +01:00
Niels Lyngsøandkjac 19ee8e9254 directly render labels without angularJS template code (#14700) 2023-08-22 12:54:36 +02:00
5dfb914e0f Don't pass content object to save method - it's not a suitable label key :) (#14496)
* don't set label key to entire content model...

* Remove the default parameter value

---------

Co-authored-by: kjac <kja@umbraco.dk>
2023-08-22 11:10:58 +02:00
Nikolaj 380af0057b Bump version 2023-08-22 10:25:55 +02:00
Nikolaj 85f81ed44c Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2023-08-22 10:24:26 +02:00
Nikolaj Brask-NielsenandGitHub a5a6fe4f76 docs: Improve DbContext XML docs (#14673) 2023-08-22 09:34:19 +02:00
Nikolaj Brask-NielsenandGitHub 9a63542645 refactor: Only use pooled DbContexts (#14672) 2023-08-21 14:55:41 +02:00
66bbad3379 Media Delivery API (#14692)
* Introduce media API - controllers, services, tests, Swagger docs

* Add path to media API response + add "by path" endpoint

* Review comments

* Implement filtering and sorting

* Add explicit media access configuration

* Cleanup

* Adding default case as in the MediaApiControllerBase

* Update src/Umbraco.Cms.Api.Delivery/Services/ApiMediaQueryService.cs

Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>

* Swap sort order calculation to align with Content API

* Add CreateDate and UpdateDate to media responses

* Mirror Content Delivery API behavior for empty children selector

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
2023-08-21 13:57:36 +02:00
b1e42e334d Move to Minimal Hosting Model in a backwards compatible way (#14656)
* Use minimal hosting model

* Make CoreRuntime backward compatible to the old hosting model

* Remove unneccessary methods from interface again

* Pushed the timeout for E2E test to 120 minutes instead of 60

* Updated the preview version from 6 to 7

* Explicitly call BootUmbracoAsync

* Add CreateUmbracoBuilder extension method

* Do not add IRuntime as hosted service when using WebApplication/WebApplicationBuilder

* Set StaticServiceProvider.Instance before booting

* Ensure Umbraco is booted and StaticServiceProvider.Instance is set before configuring middleware

* Do not enable static web assets on production environments

* Removed root namespace from viewImports

---------

Co-authored-by: Andreas Zerbst <andr317c@live.dk>
Co-authored-by: Ronald Barendse <ronald@barend.se>
2023-08-21 12:24:17 +02:00
Bjarke Berg 6f10517fc6 Merge remote-tracking branch 'origin/v13/dev' into v14/dev
# Conflicts:
#	build/azure-pipelines.yml
2023-08-21 08:05:22 +02:00
Bjarke Berg 84cd7a163c Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2023-08-21 08:03:18 +02:00
Bjarke Berg 29d0c6770c Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2023-08-21 08:02:15 +02:00
Bjarke Berg d676850f6c Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2023-08-21 07:58:22 +02:00
0096addcb9 Content and media type CRUD controllers and services (#14665)
* Add GetAsync method

* Fix up delete document type controller

* Add scope to delete async

* Add some scaffolding

* Add create model

* Start working on validation

* Move validation to its own service

* Use GetAllAsync instead of GetAsync

* Add initial composition support

Still need to figure out some kinks

* Validate compositions when creating

* Add initial folder support

* Initial handling of generic properties

* Add operation status responses

* Move create operation into service

* Add first test

* Fix issued shown by test

* Ensure a specific key can be specified when creating

* Rename container id to container key

Let's try and be consistent

* Create basic composition test

* Ensure new property groups are created with the correct key

* Add test showing property type issue

* Fix property types not using the expected key.

* Validate against model fetched from content type service

Just to make sure nothing explodes on the round trip

* Make helper for creating create models

* Add helper for creating container

* Make helper methods simpler to use

* Add test for compositions using compositions

* Add more composition tests

* Fix bug allowing element types to be composed by non element types

* Remove validators

This can just be a part of the editing service

* Minor cleanup

* Ensure that multiple levels of inheritance is possible

* Ensure doctype cannot be used as both composition and inheritance on the same doctype

* Ensure no duplicate aliases from composition and that compositions exists

* Minor cleanup

* Address todos

* Add SaveAsync method

* Renamed some models

* Rename from DocumentType to ContentType

* Clarify ParentKey as being container only + untangle things a tiny bit

* Clean out another TODO (less duplicate code) + more tests

* Refactor for reuse across different content types + add media type editing service + unit tests

* Refactor in preparation for update handling

* More tests + fixed bugs found while testing

* Simplify things a bit

* Content type update + a lot of unit tests + some refactor + fix bugs found while testing

* Begin building presentation factories for mapping view models to editing models

* Use async save

* Mapping factories and some clean-up

* Rename Key to Id (ParentKey to ParentId)

* Fix slight typo

* Use editing service in document type controllers and introduce media type controllers

* Validate containers and align container aliases with the current backoffice

* Remove ParentId from response

* Fix scope handling in DeleteAsync

* Refactor ContentTypeSort

* A little renaming for clarity + safeguard against changes to inheritance

* Persist allowed content types

* Fix bad merge + update controller response annotations

* Update OpenAPI JSON

* Update src/Umbraco.Cms.Api.Management/Controllers/DocumentType/DocumentTypeControllerBase.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Fix review comments

* Update usage of MapCreateAsync to ValidateAndMapForCreationAsync

---------

Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
2023-08-17 12:28:16 +02:00
Nikolaj Brask-NielsenandJason Elkin d7cbd9bf61 fix: Translations keys from #12776 2023-08-17 10:38:27 +01:00
a1f6531453 V14: Consistently refer to user key (#14685)
* Fixup UserService

* Fixup PartialViewService

* Fixup ScriptService

* Fixup StylesheetService

* Use keys with usergroups instead of IDs

* Fix missed instances of performingUser

* Fixup DataTypeFolderControllerBase

---------

Co-authored-by: kjac <kja@umbraco.dk>
2023-08-17 08:35:48 +02:00
Nikolaj Brask-NielsenandJason Elkin 685b867456 fix: Pass correct user id to Audit log 2023-08-16 23:42:59 +01:00
Nikolaj Brask-NielsenandGitHub d33c44c0a3 Fix userid zero in integration tests (#14639)
* test: Fix invalid user ids

* feat: Update parameter defaults with constants
2023-08-16 22:37:10 +01:00
Nikolaj Brask-NielsenandGitHub 3a7e388547 Adds hide toggle to hide unavailable compositions (#12776)
* feat: Added hide toggle to hide unavailable compositions

* fix: Fixed - being .

* chore: Move toggle to top
2023-08-16 15:44:05 +01:00
Bjarke Berg fb3ead87b8 Post merge fixes 2023-08-15 11:18:10 +02:00
Bjarke Berg 822d57135e Merge remote-tracking branch 'origin/v13/dev' into v14/dev
# Conflicts:
#	src/Umbraco.Cms.Persistence.EFCore/Composition/UmbracoEFCoreComposer.cs
#	src/Umbraco.Infrastructure/PropertyEditors/BlockEditorValues.cs
#	src/Umbraco.Web.UI.Docs/gulpfile.js
2023-08-15 11:14:00 +02:00
Bjarke Berg 7eda978cb1 Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2023-08-15 11:07:06 +02:00
Nikolaj 5f28f6d293 Merge branch 'release/12.1' into v12/dev
# Conflicts:
#	version.json
2023-08-15 11:02:43 +02:00
Bjarke Berg b668fd47c6 Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2023-08-15 10:59:44 +02:00
Bjarke Berg f39ae725a4 Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2023-08-15 10:17:49 +02:00
Bjarke Berg 6f25d96b48 Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2023-08-15 10:15:28 +02:00
767bd1bcc0 Add exclusion filter setting to typefinder settings (#14426)
* Obsolete constructor with deprecated IScopeProvider

* Add exclusion setting to typefinder settings

* The old TypeFinder constructor calls the new constructor now instead and excluded duplicates by using Union instead of Concat.

* Revert "The old TypeFinder constructor calls the new constructor now instead and excluded duplicates by using Union instead of Concat."

This reverts commit 87801c6c1c.

* Add changes to TypeFinder

* Do not use null when type is not nullable

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-08-15 09:46:27 +02:00
Nikolaj 6cdd56176f Bump version 2023-08-14 18:49:56 +02:00
MoleandGitHub 7abfd146ad Ensure EfCore is known regardless of DeliveryApi (#14678) 2023-08-14 15:15:44 +02:00
Bjarne FyrstenborgandMichael Latouche c472a910e2 Use generic Content Type instead of Document Type 2023-08-13 00:36:18 +02:00
Jacob Overgaard 826ec6a94f update backoffice submodule 2023-08-11 15:38:23 +02:00
Jacob Overgaard f540fe59ed update backoffice submodule 2023-08-11 15:36:43 +02:00
Jacob Overgaard 327ea77294 Merge remote-tracking branch 'origin/v12/dev' into v12/dev 2023-08-10 10:35:32 +02:00
Jacob Overgaard dd94dabd61 update UI docs title to Umbraco 12 2023-08-10 10:35:12 +02:00
Søren GregersenandSebastiaan Janssen 0edee82b0b Remove todo - that has been done 2023-08-10 09:31:03 +02:00
Sebastiaan Janssen e7f940b358 Merge branch 'v12/dev' into contrib 2023-08-10 09:01:26 +02:00
Nikolaj Brask-NielsenandGitHub 7537509ede feat: Show published state in tree picker (#14641) 2023-08-09 16:30:28 +01:00
Bjarke Berg 843d41e564 Update .net 8 to preview 7 2023-08-09 15:53:31 +02:00
Bjarke Berg 5327413092 Merge remote-tracking branch 'origin/v12/dev' into v13/dev
# Conflicts:
#	version.json
2023-08-09 15:28:49 +02:00
Bjarke Berg f7e6480f4b Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2023-08-09 15:27:39 +02:00
Bjarke Berg d421be9d3c Added Indexing to v11+ UmbracoCmsSchema.cs 2023-08-09 15:27:13 +02:00
Bjarke Berg 5fbc922814 Merge remote-tracking branch 'origin/v10/dev' into v11/dev
# Conflicts:
#	src/JsonSchema/AppSettings.cs
2023-08-09 15:27:01 +02:00
Bjarke Berg 667627a6e2 Merge remote-tracking branch 'origin/release/12.1' into v12/dev 2023-08-09 13:21:20 +02:00
d9c3ebdfe8 Bugfix 31584 - Remove Lazy "caching" that retains keys of deleted ContentTypes which causes unecesary validation errors (#14643)
The validation errors should not happen as the model mapping cleans up block data for entity types that do not longer exist (which is checked on the aformentioned key)

Co-authored-by: Sven Geusens <sge@umbraco.dk>
2023-08-09 13:12:39 +02:00
Bjarke Berg ea51daa086 bump version 2023-08-09 13:09:16 +02:00
Bjarke Berg 336ba22a01 Merge remote-tracking branch 'origin/release/12.1' into v12/dev 2023-08-09 13:08:50 +02:00
Bjarke Berg a4f84ed490 Added Indexing to v11+ UmbracoCmsSchema.cs 2023-08-09 11:51:47 +02:00
Bjarke BergandSven Geusens 945e3be553 Add config so it is configurable whether to explicitly index each nested property (#14648)
* Added new configuration "Umbraco:CMS:Examine:ExplicitlyIndexEachNestedProperty" that can be used to avoid nested properties like block grid to index each property individually.

* Moved the setting "Umbraco:CMS:Examine:ExplicitlyIndexEachNestedProperty" to "Umbraco:CMS:Indexing:ExplicitlyIndexEachNestedProperty" to make it more future proof

* Added missing registration

* Fixed registration

* Small readability improvement

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
2023-08-09 11:51:01 +02:00
Jacob Overgaard 6fcb67e319 bump to preview002 2023-08-09 10:21:13 +02:00
Jacob Overgaard 6ccf825c48 outcomment c# docs for now (they do not work with .NET 8) 2023-08-09 10:21:04 +02:00
Jacob Overgaard d1547ffe0b typo 2023-08-09 10:20:51 +02:00
Bjarke Berg cae22a6b9f bump version 2023-08-09 08:39:53 +02:00
Bjarne FyrstenborgandMichael Latouche 8e8a09f1ba Fix warning icon color in health check dashboard 2023-08-09 01:17:11 +02:00
Jacob Overgaard 9e9c299cf8 update backoffice preview002 2023-08-08 15:41:16 +02:00
Jacob Overgaard 7e25f1b55f update importmap 2023-08-08 15:37:46 +02:00
Bjarke Berg d9f528f3ae Post merge fixes 2023-08-08 12:19:29 +02:00
Bjarke Berg 2839131033 Merge remote-tracking branch 'origin/v13/dev' into v14/dev 2023-08-08 12:10:18 +02:00
Bjarke Berg dce320839c Updated .net 8 to preview 6 2023-08-08 12:05:53 +02:00
Bjarke Berg df16f4fbd2 Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2023-08-08 11:40:45 +02:00
Bjarke Berg 85311f9277 Merge remote-tracking branch 'origin/v11/dev' into v12/dev
# Conflicts:
#	src/Umbraco.Core/Events/EventAggregator.Notifications.cs
#	src/Umbraco.Core/Events/EventAggregator.cs
2023-08-08 11:30:40 +02:00
Bjarke Berg 7cf4826e2f Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2023-08-08 11:26:01 +02:00
Jacob Overgaard 9b26aec4c3 set default culture for backoffice 2023-08-08 09:54:54 +02:00
Jacob Overgaard 9274c3fad9 update backoffice submodule 2023-08-08 09:49:42 +02:00
Bjarke Berg ef13b1fe1f Merge remote-tracking branch 'origin/release/12.1' into v12/dev 2023-08-07 20:16:45 +02:00
dddabdb8dc Small changes to the EF Core implementations (#14640)
* Added explicit migration for AddOpenIddict and

* Renamed the UmbracoOpenIddictDbContextModelSnapshot to UmbracoDbContextModelSnapshot to align with the name of the DBContext

* Added comment to UmbracoDbContext about it is for internal use

* Only execute all migrations at initial install time

---------

Co-authored-by: kjac <kja@umbraco.dk>
2023-08-07 19:16:35 +02:00
Jacob OvergaardandNiels Lyngsø cf12de50d8 V12: Remove avatar step from login (#14629)
Co-authored-by: Niels Lyngsø <niels.lyngso@gmail.com>
2023-08-07 11:00:48 +02:00
Rasmus SöderströmandBjarke Berg 7d253d3454 Fix for #14565 - Empty DocType folders hidden (#14581) 2023-08-07 08:48:14 +02:00
Erik-Jan WestendorpandBjarke Berg 0046f1a9f8 Add missing translation (#14588) 2023-08-07 08:47:07 +02:00
Bjarke Berg b10b77bb08 Allow newlines in invite email and escape other html (#14618) 2023-08-07 08:19:43 +02:00
1d8ad9dabb V12: Remove avatar step from login (#14629)
Co-authored-by: Niels Lyngsø <niels.lyngso@gmail.com>
2023-08-04 16:20:27 +02:00
Bjarke BergandGitHub 45033437a2 Updated all 404 and 500 responses to use problem details model (#14634)
* Updated all 404 and 500 responses to use problem details

* Updated OpenApi.json

* Add missing ProducesResponseType

* Updated OpenApi.json
2023-08-04 10:51:20 +02:00
Jacob Overgaard 7b78fe9ced update backoffice submodule 2023-08-02 17:04:02 +02:00
Sebastiaan Janssen 772fa5e23b Revert "Fix for escaping markdown characters in property descriptions (#12345)"
This reverts commit 4aa1597138.
2023-08-02 15:15:11 +02:00
Bjarke BergandGitHub 0d82258803 Allow newlines in invite email and escape other html (#14618) 2023-08-02 12:39:06 +02:00
Bjarke Berg e48350e064 Added missing async awaits in notifications that ensures objects are not disposed too early
Fixes https://github.com/umbraco/Umbraco-CMS/issues/14574
2023-08-02 11:29:02 +02:00
MigaroezandGitHub 85b3d006bf Merge pull request #14626 from umbraco/v12/bugfix/14574_fixed_issue_with_disposed_objects_in_async_notifications
Fixed issue with disposed objects in async notifications
2023-08-02 11:26:05 +02:00
Bjarke Berg 254e471d9b post merge fixes 2023-08-02 10:27:39 +02:00
Bjarke Berg bd0f20f4e4 Merge remote-tracking branch 'origin/v13/dev' into v14/dev
# Conflicts:
#	src/Umbraco.Core/CompatibilitySuppressions.xml
#	src/Umbraco.Infrastructure/CompatibilitySuppressions.xml
#	src/Umbraco.Web.BackOffice/CompatibilitySuppressions.xml
#	src/Umbraco.Web.Common/CompatibilitySuppressions.xml
#	tests/Umbraco.Tests.Common/CompatibilitySuppressions.xml
#	tests/Umbraco.Tests.Integration/CompatibilitySuppressions.xml
2023-08-02 10:23:53 +02:00
Bjarke Berg 6d64cfbbc4 Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2023-08-02 10:23:32 +02:00
Bjarke Berg 982dd3700d Merge remote-tracking branch 'origin/v11/dev' into v12/dev
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/common/services/tinymce.service.js
#	src/Umbraco.Web.UI.Client/src/views/components/upload/umb-file-dropzone.html
2023-08-02 10:13:02 +02:00
Bjarke Berg 8ce48a2634 post merge fix 2023-08-02 10:01:20 +02:00
Bjarke Berg dcdbdbfadd Merge remote-tracking branch 'origin/v10/dev' into v11/dev
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/common/directives/components/upload/umbfiledropzone.directive.js
#	src/Umbraco.Web.UI.Client/src/common/services/tinymce.service.js
#	src/Umbraco.Web.UI.Client/src/views/components/upload/umb-file-dropzone.html
2023-08-02 09:53:17 +02:00
Bjarke Berg bbaa2a2212 Added CompatibilitySuppressions for .NET7 2023-08-02 09:46:31 +02:00
Bjarke Berg 41625e3ad2 Updated template to .net8 2023-08-02 09:46:14 +02:00
Sebastiaan Janssen bc127d95ba Fixed note on #13145 - don't make IncludeDescendants settable 2023-08-01 16:11:44 +02:00
b923c32525 fix: mark MultiUrlPickerValueConverter with DefaultValueConverter (#13347)
Co-authored-by: georgebid <91198628+georgebid@users.noreply.github.com>
2023-08-01 14:20:22 +01:00
Bjarne FyrstenborgandGitHub 8f5fee9f76 Add cache buster to injected icons CSS in block grid (#14621)
* Inject icons css via shadow DOM

* Fix typo

* Import icons.less instead
2023-08-01 14:09:10 +01:00
Bjarke Berg c11d0d3f5a Added missing async awaits in notifications that ensures objects are not disposed too early
Fixes https://github.com/umbraco/Umbraco-CMS/issues/14574
2023-08-01 14:23:30 +02:00
Miguel PintoandGitHub 96f8f70ed5 Fixed incorrect assignment of Last Login Date after a user accepts an invite and sets the password (#14619) 2023-07-31 22:14:20 +02:00
Callum WhyteandGitHub b778834dea Update QR code icon (#14609) 2023-07-31 21:58:47 +02:00
Callum WhyteandGitHub b2831dcd5e Sort content template tree items alphabetically, exclude element types (#14454) 2023-07-31 21:44:02 +02:00
Erik-Jan WestendorpandSebastiaan Janssen 3572642873 Add AddMapDefinition Extension Method 2023-07-31 20:30:17 +02:00
Bjarne FyrstenborgandGitHub 88c35e97a2 Compile css for icons style (#14615) 2023-07-31 20:12:09 +02:00
Dhanesh Kumar MjandGitHub 2282099577 considering id, key & name as filter params for content listview (#14514) 2023-07-31 15:42:21 +02:00
Bjarne FyrstenborgandGitHub 7f09802712 Allow Media Picker 3 to be used as macro parameter editor (#14594) 2023-07-31 15:10:40 +02:00
Bjarke Berg 68475a97d6 Do not sign in user after install, like in v12 2023-07-31 14:02:48 +02:00
Bjarke Berg 42ffb3b7d8 Reimplement fix from v12 to allow newlines in invite email 2023-07-31 13:59:53 +02:00
Bjarne FyrstenborgandGitHub b7f3976831 Ignore 1Password as well in noPasswordManager directive (#14613) 2023-07-31 13:31:47 +02:00
71d990504e Fix incorrect redirectUrl check with external authentication (#14198) (#14423)
* Fix check local redirect url

* Removed line break

* Small adjustment

---------

Co-authored-by: Laura Neto <12862535+lauraneto@users.noreply.github.com>
2023-07-29 17:47:43 +02:00
rasmusmedjandMichael Latouche dc94797784 #14190: Save all languages sent to approval in audit log 2023-07-29 00:32:10 +02:00
Bjarne FyrstenborgandGitHub 157005194f Block grid area allowance editor (#14582)
* Add position relative to button to fix issue with umb-outline on button element

* Add pattern attribute to get more specific virtual numeric keyboard on some devices as we expect integer values

* Fix missing localization of title attributes due missing @ prefix

* Fix incorrect end-closing tag
2023-07-26 16:16:30 +01:00
Bjarne FyrstenborgandGitHub ea642d69e5 Replace attribute with noPasswordManager directive (#14593) 2023-07-25 22:38:40 +01:00
Nikolaj Geisle ea3712fb96 Remove v10 fix, as it hopefully should not be relevant for 14 2023-07-25 11:56:46 +02:00
Nikolaj Geisle 2ecee0ca32 Merge branch 'v13/dev' into v14/dev 2023-07-25 11:44:03 +02:00
Nikolaj Geisle 8797e93f2e Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2023-07-25 11:37:04 +02:00
978da0384e Merge v11 into v12 (#14604)
* V12: Dropzone should handle internal and external errors when uploading (#14579)

* fix: for safety measure check that a file is truthy before trying to upload it

* fix: push an error when file.$error is encountered to make sure it does not get uploaded

* fix: mark file as done if it errors

* format error messages

* fix: check for maxFileSize before uploading pasted images in tinymce

* remove the image from the DOM if any error is encountered

* feat: add property to fileManager to get and format the maxFileSize

* fix: make tinymce use fileManager to get maxFileSize

* fix(image cropper): check for maxFileSize before setting file to upload

* multiply by 1000 to get bytes

* V11/merge v10 into v11 (#14602)

* V10: Dropzone should handle internal and external errors when uploading (#14578)

* fix: mark files that result in error as processed

* fix: for safety measure check that a file is truthy before trying to upload it

* fix: push an error when file.$error is encountered to make sure it does not get uploaded

* fix: remove header from error messages since it is not being used anyway

* fix: check for maxFileSize before uploading pasted images in tinymce

* use stored blob variable

* feat: add property to fileManager to get and format the maxFileSize

* fix: make tinymce use fileManager to get maxFileSize

* fix(image cropper): check for maxFileSize before setting file to upload

* multiply by 1000 to get bytes

---------

Co-authored-by: Elitsa <elm@umbraco.dk>

* Fix method invoke. (#14597)

* Ensure that the Slider does not crash the back-office (#14601)

* Ensure that the Slider does not crash the back-office

* Add field descriptions to config

---------

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
Co-authored-by: Elitsa <elm@umbraco.dk>
Co-authored-by: Adrian Cojocariu <95346674+acoumb@users.noreply.github.com>
Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>

---------

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
Co-authored-by: Elitsa <elm@umbraco.dk>
Co-authored-by: Adrian Cojocariu <95346674+acoumb@users.noreply.github.com>
Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
2023-07-25 11:16:00 +02:00
c8206cd7d7 V11/merge v10 into v11 (#14602)
* V10: Dropzone should handle internal and external errors when uploading (#14578)

* fix: mark files that result in error as processed

* fix: for safety measure check that a file is truthy before trying to upload it

* fix: push an error when file.$error is encountered to make sure it does not get uploaded

* fix: remove header from error messages since it is not being used anyway

* fix: check for maxFileSize before uploading pasted images in tinymce

* use stored blob variable

* feat: add property to fileManager to get and format the maxFileSize

* fix: make tinymce use fileManager to get maxFileSize

* fix(image cropper): check for maxFileSize before setting file to upload

* multiply by 1000 to get bytes

---------

Co-authored-by: Elitsa <elm@umbraco.dk>

* Fix method invoke. (#14597)

* Ensure that the Slider does not crash the back-office (#14601)

* Ensure that the Slider does not crash the back-office

* Add field descriptions to config

---------

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
Co-authored-by: Elitsa <elm@umbraco.dk>
Co-authored-by: Adrian Cojocariu <95346674+acoumb@users.noreply.github.com>
Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
2023-07-25 10:18:49 +02:00
Bjarne FyrstenborgandGitHub 05b89999af Set max length of text input to avoid server error due character length in database (#14592) 2023-07-24 17:51:02 +01:00
Erik-Jan WestendorpandBusra Sengul 557fe38a98 Change 'Comment' to 'Commentaar' 2023-07-24 17:39:06 +03:00
Jacob Overgaard 9e0344d85a update backoffice submodule 2023-07-24 10:45:34 +02:00
dependabot[bot]andJacob Overgaard 46aad34396 Bump word-wrap from 1.2.3 to 1.2.4 in /src/Umbraco.Web.UI.Client
Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.4.
- [Release notes](https://github.com/jonschlinkert/word-wrap/releases)
- [Commits](https://github.com/jonschlinkert/word-wrap/compare/1.2.3...1.2.4)

---
updated-dependencies:
- dependency-name: word-wrap
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-24 08:33:57 +00:00
Jacob Overgaard 24844c6ce2 V12: Dropzone should handle internal and external errors when uploading (#14579)
* fix: for safety measure check that a file is truthy before trying to upload it

* fix: push an error when file.$error is encountered to make sure it does not get uploaded

* fix: mark file as done if it errors

* format error messages

* fix: check for maxFileSize before uploading pasted images in tinymce

* remove the image from the DOM if any error is encountered

* feat: add property to fileManager to get and format the maxFileSize

* fix: make tinymce use fileManager to get maxFileSize

* fix(image cropper): check for maxFileSize before setting file to upload

* multiply by 1000 to get bytes
2023-07-24 10:20:07 +02:00
Jacob OvergaardandGitHub 41c7e34059 V12: Dropzone should handle internal and external errors when uploading (#14579)
* fix: for safety measure check that a file is truthy before trying to upload it

* fix: push an error when file.$error is encountered to make sure it does not get uploaded

* fix: mark file as done if it errors

* format error messages

* fix: check for maxFileSize before uploading pasted images in tinymce

* remove the image from the DOM if any error is encountered

* feat: add property to fileManager to get and format the maxFileSize

* fix: make tinymce use fileManager to get maxFileSize

* fix(image cropper): check for maxFileSize before setting file to upload

* multiply by 1000 to get bytes
2023-07-24 10:17:58 +02:00
MoleandGitHub e1281afb71 Merge pull request #14589 from umbraco/v14/merge
V14/merge
2023-07-21 13:47:06 +02:00
nikolajlauridsen 7ed856ae8e Comment out richtext test
This should no longer be nececary in new backoffice
2023-07-21 12:21:56 +02:00
nikolajlauridsen 473c27213e Undo props changes 2023-07-21 11:38:15 +02:00
nikolajlauridsen 90598dce0b Re-add package validation skips 2023-07-21 11:28:35 +02:00
nikolajlauridsen a4c287f1e8 Try re-adding submodule 2023-07-21 11:14:52 +02:00
nikolajlauridsen 7753df40ce Merge v13/dev 2023-07-21 10:59:47 +02:00
Erik-Jan WestendorpandGitHub 1527b2577e Add missing translation (#14588) 2023-07-21 10:31:28 +02:00
nikolajlauridsen 28dae0387f Merge remote-tracking branch 'origin/v12/dev' into v13/dev
# Conflicts:
#	Directory.Build.props
2023-07-21 10:20:08 +02:00
nikolajlauridsen 04a10be2a9 Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2023-07-21 10:17:57 +02:00
nikolajlauridsen 0884ee0a4e Merge remote-tracking branch 'origin/v10/dev' into v11/dev
# Conflicts:
#	src/JsonSchema/AppSettings.cs
#	src/Umbraco.Infrastructure/Migrations/Install/DatabaseSchemaCreator.cs
2023-07-21 10:16:50 +02:00
Rasmus SöderströmandGitHub a936fe09ab Fix for #14565 - Empty DocType folders hidden (#14581) 2023-07-20 12:36:29 +01:00
Ronald BarendseandGitHub 57852f5e62 Add PreRouting and PostRouting pipeline filters (#14503) 2023-07-20 12:23:38 +01:00
Andy ButlandandGitHub 3a857ab584 Added tests for TopoGraph. (#14583) 2023-07-20 08:33:49 +02:00
Nikolaj GeisleandGitHub 963151a1c1 V14: Rename folder response model (#14576)
* Rename FolderResposneModel

* Update OpenApi.json
2023-07-19 13:54:17 +02:00
MoleandGitHub 4824fc8839 Supress execution context flow when queuing email task. (#14571) 2023-07-19 14:42:25 +03:00
Jacob Overgaard 43b44b1004 remove submodule 2023-07-19 10:06:12 +02:00
Elitsa MarinovskaandGitHub 036876f349 V14: Add authorization policies to new Backoffice API controllers - p1 (#14551)
* AuditLog policies

* DataType policies

* Dictionary policies

* Document controllers policies

* DocumentBlueprint controllers policies

* DocumentType controllers policies

* HealthCheck controllers policies

* Language controllers policies

* LogViewer controllers policies

* Media controllers policies

* MediaType controllers policies

* Member controllers policies

* MemberGroup controllers policies

* MemberType controllers policies

* ModelsBuilder controllers policies

* Package controllers policies

* PartialView controllers policies

* Profiling controllers policies

* PropertyType controllers policies

* RedirectUrlManagement controllers policies

* Relation controllers policies

* RelationType controllers policies

* Script controllers policies

* Stylesheet controllers policies

* Telemetry controllers policies

* Template controllers policies

* TrackedReference controllers policies

* Upgrade controllers policies

* User controllers policies

* UserGroup controllers policies

* Other controllers cleanup

* Moved CreatePolicies to its own Extensions class

* Added TreeAccessScripts and TreeAccessStylesheets policies

* Remove comments

* Forgotten "New" prefix

* Duplicate Auth Policy

* Removed comment since we are using reference tokens and this is no longer a problem

* Fix AdminUserEditsRequireAdmin auth policy to use a constant

* Revert change

* Revery UpgradeControllerBase attribute

* Removed AdminUserEditsRequireAdmin policy as it will be implemented later on

* Adding RequireAdminAccess policy for Upgrade controller

* Wrong claim type
2023-07-19 08:02:51 +02:00
Dennis ÖhmanandGitHub a49a9851dc #14325 - Remove wildcard-background from RTE (#14439)
* Update rte-content.less

#14325 - Remove wildcard-background from RTE

* Update rte-content.less

I did an update. 🙂

The transparent background is there because the tinymce theme Oxide adds a background-color to all selected elements.
So the umbraco added transparent background makes white text not be visible.

https://github.com/tinymce/oxide/blob/012346905578b0d7e59f7000d447f56243243b4a/src/less/theme/content/selection/selection.less#L50C2-L50C2


So I put back the transparent background-color and added a @blueExtraDark as text-color

I have updated the issue with more details.
2023-07-18 17:10:33 +01:00
Jacob Overgaard 33f926853b update backoffice submodule 2023-07-18 13:47:48 +02:00
Andy ButlandandGitHub d1aac3964c Restored order of operations on scope dispose to that used in Umbraco 11 before refactor into Scope inheriting CoreScope. (#14573) 2023-07-18 12:57:09 +02:00
Sebastiaan Janssen dad49b846f Merge branch 'v12/dev' into contrib 2023-07-18 11:18:26 +02:00
Elitsa MarinovskaandGitHub ba423a0108 V12: Add ISO codes to make the migration from language IDs easier (#14567)
* Change the obsoletion messages for language IDs to target V14 instead of V13.

* Wrong Language file

* Add ISO codes required to migrate custom code from language IDs

* Population of the new language FallbackIsoCode prop

* Changing obsoletion msgs from v13 to v14

* Fix breaking changes
2023-07-18 10:53:14 +02:00
MoleandGitHub d306a65bd4 V14: Fix pipelines (#14566)
* Try undoing inheritance change

Just to see if the issue stems from there

* Try specifying order again

* Log something

* Maybe it's a culture thing

* That wasn't it

* Maybe content deliver need to exist as an applicationPart

* Order found types

* Cleanup
2023-07-18 10:18:31 +02:00
NuklonandGitHub d52dcb78bb Use built-in Enum parse method, avoids keeping single-use Enums in memory 2023-07-17 20:52:04 +01:00
NuklonandGitHub 531ad2e4d5 Improve Enum performance (#14384) 2023-07-17 17:35:44 +01:00
dependabot[bot]andJacob Overgaard 99263113a0 Bump tough-cookie from 4.1.2 to 4.1.3 in /src/Umbraco.Web.UI.Client
Bumps [tough-cookie](https://github.com/salesforce/tough-cookie) from 4.1.2 to 4.1.3.
- [Release notes](https://github.com/salesforce/tough-cookie/releases)
- [Changelog](https://github.com/salesforce/tough-cookie/blob/master/CHANGELOG.md)
- [Commits](https://github.com/salesforce/tough-cookie/compare/v4.1.2...v4.1.3)

---
updated-dependencies:
- dependency-name: tough-cookie
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-17 06:55:00 +00:00
b31c59d2a5 V14: refactor property editor aliases (#14536)
* Rename migrations folder to v14

* Add renaming migration

* Add missing namespace to migration in plan

* Rename Tiny to richtext

* Obsolete old TinyMce

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Elitsa <elm@umbraco.dk>
2023-07-14 15:31:09 +03:00
nikolajlauridsen f533d923d8 Merge remote-tracking branch 'origin/v13/dev' into v14/dev
# Conflicts:
#	src/Umbraco.Infrastructure/Migrations/Upgrade/UmbracoPlan.cs
#	tests/Umbraco.Tests.AcceptanceTest/package-lock.json
#	tests/Umbraco.Tests.AcceptanceTest/package.json
#	tests/Umbraco.Tests.AcceptanceTest/playwright.config.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/BlockGridEditor/Content/blockGridEditorAdvanced.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/BlockGridEditor/Content/blockGridEditorAreasContent.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/BlockGridEditor/Content/blockGridEditorContent.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/BlockGridEditor/Content/blockGridEditorRendering.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/BlockGridEditor/Content/blockGridEditorSettings.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/BlockListEditor/blockListEditorContent.spec.ts
#	version.json
2023-07-14 10:04:53 +02:00
nikolajlauridsen f902b83940 Fix version 2023-07-14 09:59:56 +02:00
nikolajlauridsen 4df770aa76 Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2023-07-14 09:59:26 +02:00
nikolajlauridsen 103a792074 Merge remote-tracking branch 'origin/v11/dev' into v12/dev
# Conflicts:
#	src/Umbraco.Infrastructure/Migrations/Upgrade/UmbracoPlan.cs
#	version.json
2023-07-14 09:44:25 +02:00
nikolajlauridsen af44f7f59d Fix migration plan 2023-07-14 09:38:16 +02:00
nikolajlauridsen 9122885c67 Merge remote-tracking branch 'origin/v10/dev' into v11/dev
# Conflicts:
#	src/JsonSchema/AppSettings.cs
#	src/Umbraco.Infrastructure/Migrations/Upgrade/UmbracoPlan.cs
2023-07-14 09:33:57 +02:00
nikolajlauridsen 291f90d03d Bump version 2023-07-13 10:48:43 +02:00
nikolajlauridsen e317aa29f7 Merge branch 'release/11.4' into v11/dev 2023-07-13 10:48:03 +02:00
nikolajlauridsen 4c39734b51 Merge branch 'release/12.0' into v12/dev
# Conflicts:
#	version.json
2023-07-13 10:38:03 +02:00
20a4e475c8 Merge pull request from GHSA-h8wc-r4jh-mg7m
* Don't login after install

* Fail the install if database is not created

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
2023-07-13 06:18:34 +02:00
nikolajlauridsen 2a601ae0d0 Bump version 2023-07-13 06:17:34 +02:00
1f26f2c6f3 Merge pull request from GHSA-h8wc-r4jh-mg7m
* Don't login after install

* Fail the install if database is not created

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
2023-07-13 06:10:51 +02:00
nikolajlauridsen 596284f32d Bump version 2023-07-13 06:07:59 +02:00
Jacob Overgaard 6f417722ac Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2023-07-12 15:06:29 +02:00
Bjarne FyrstenborgandGitHub 2b62969395 Make it possible to remove blocks using tab key in block grid configuration (#14518) 2023-07-11 15:14:19 +01:00
Sebastiaan JanssenandGitHub dd697ab71c Delete add-issues-to-review-project.yml 2023-07-11 12:58:11 +02:00
e40f1839c4 V14: Refactor LogViewerService (#14511)
* Refactor GetPagedLogsAsync to not use ILogViewer

* Refactor GetPagedLogsAsync to not use ILogViewer

* Reorder using statements

* Introduce ILogViewerRepository

* Remove skip and take from repository

* Return IEnumerable instead of pagedModel

* Remove local GetLogs

* Return IEnumerable instead of pagedmodel

* Remove serilog entirely from ILogViewerService

* Move LogViewerService

* Inject LogViewerService as core service instead

* Implement LogViewerServiceTests.cs

* Add more happy path tests

* Add saved query tests

* Refactor private path fields  to normal variables in setup method

* Capitalize logs for Unix systems

* Added missing documentation

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Elitsa <elm@umbraco.dk>
2023-07-10 15:36:20 +03:00
Jacob Overgaard 82f79cafe8 update backoffice submodule 2023-07-10 11:22:37 +02:00
Andreas ZerbstandGitHub 313fdf79fe Added test for checking if settings model contains default value (#14513)
* Added test for checking if a settings model contains default value.
Fixed tests

* Bumped version

* Moved createSliderWithDefaultValue function to our testHelpers. Removed the use of count in test since there was only one
2023-07-10 10:38:43 +02:00
MoleandGitHub 578ced2778 Enable inheritance after merge (#14512)
* Enable inheritance after merge

* Update OpenApi.json
2023-07-10 10:13:46 +02:00
Jacob Overgaard 11dd958a33 update backoffice submodule 2023-07-07 15:49:40 +02:00
Andreas ZerbstandGitHub 45083b6735 Removed usage of sending umbracoApi to our testHelpers (#14526)
* Cleaned up in Advanced

* Cleaned up in Areas

* Cleaned up in Content

* Cleaned up in Rendering

* Cleaned up in Settings

* Updated the timeout to 40 seconds, 30 seconds is not always enough anymore.

* Bumped version of testhelpers and builders
2023-07-07 14:49:08 +02:00
d116366b28 V12: Deprecate XPath (#14372)
* Deprecate all outward facing methods that uses XPath

* Add more obsolete messages

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-07-07 11:12:04 +02:00
Bjarke Berg 47d5ef88c4 Post merge fixes - Including temp workaround for .net8 efcore breaking change (Should be fixed again in preview 7) 2023-07-07 10:55:29 +02:00
Bjarke Berg d991285466 Merge remote-tracking branch 'origin/v13/dev' into v14/dev
# Conflicts:
#	Directory.Build.props
#	src/Umbraco.Web.BackOffice/Controllers/MediaController.cs
2023-07-07 08:56:17 +02:00
Bjarke Berg fe6cdb0f17 Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2023-07-07 08:48:33 +02:00
Bjarke Berg 16c78b76dd Merge remote-tracking branch 'origin/v11/dev' into v12/dev
# Conflicts:
#	src/Umbraco.Web.BackOffice/Controllers/MediaController.cs
2023-07-07 08:37:20 +02:00
Bjarke Berg 02e87233c1 Merge remote-tracking branch 'origin/v10/dev' into v11/dev
# Conflicts:
#	src/Umbraco.Web.BackOffice/Controllers/MediaController.cs
#	src/Umbraco.Web.UI.Client/src/common/services/tinymce.service.js
2023-07-07 08:34:15 +02:00
Bjarne FyrstenborgandGitHub 0c595ccc5f Only show groups when any filtered results in group (#14505) 2023-07-06 17:22:49 +01:00
0da33d064a Fixes #12904 UmbracoHelper.GetDictionaryValue defaults to en-US when used in non-front end code (#12942)
* adding new overload/rename a method

* remove this keyword

* fix comment

* remove space

* commit

* revert

* replace param name

* public backward compatibility

* Minor style tweaks

* Don't change default culture in UmbracoCultureDictionary

---------

Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
2023-07-06 12:29:18 +02:00
Jacob OvergaardandGitHub f18d4b2078 Render all tabs in the background to ensure they register their initial state on any $scope.model in the stack. (#14493)
Sometimes a tab, e.g. a "block list settings model" might register some default values, but if the user never clicks on the tab then they are not registered due to how AngularJS renders views with "ng-if".
2023-07-06 09:52:11 +02:00
41805af0d9 Updated the package validation baseline version to 12.0.0 (#14389)
* Updated the package validation baseline version to 12 RC1

* Update PackageValidationBaselineVersion to 12.0.0 and remove CompatibilitySuppressions.xml files

* Clean up project files

---------

Co-authored-by: Ronald Barendse <ronald@barend.se>
2023-07-06 07:51:49 +02:00
c7a38cdac4 V14: Public access controller (#14501)
* Implement GetEntryByContentKey

* Implement PublicAccessResponseModel

* Implement IPublicAccessPresentationFactory

* Rename MemberGroupItemReponseModel to MemberGroupItemResponseModel

* Refactor PublicAccessResponseModel to use Ids instead of entire content items

* Return attempt instead of PresentationModel

* Add missing statuses to PublicAccessOperationStatusResult

* Implement PublicAccessDocumentController.cs

* Refacotr PublicAccessResponseModel to use a base model

* Add CreatePublicAccessEntry method

* Refactor AccessRequestModel to use names not ids :(

* Rename ErrorPageNotFound to ErrorNodeNotFound

* Implement new SaveAsync method

* Introduce more OperationResults

* Implement PublicAccessEntrySlim

* Implement SaveAsync

* Remove CreatePublicAccessEntry from presentation factory

* Rename to CreateAsync

* Implement UpdateAsync

* Rename to async

* Implement CreatePublicAccessEntry

* Implement update endpoint

* remove PublicAccessEntrySlim mapping

* implement CreatePublicAccessEntrySlim method

* Refactor UpdateAsync

* Remove ContentId from request model as it should be in the request

* Use new service layer

* Amend method name in update controller

* Refactor create public access entry to use async method and return entity

* Refactor to use saveAsync method instead of synchronously

* Use presentation factory instead of mapping

* Implement deleteAsync endpoint

* Add produces response type

* Refactor mapping to not use UmbracoMapper, as that causes errors

* Update OpenApi.json

* Refactor out variables to intermediate object

* Validate that groups and names are not specified at the same time

* Make presentation factory not async

* Minor cleanup

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
2023-07-05 14:56:51 +02:00
ed83b65de3 V14: Refactor icons for tree items (#14477)
* Remove icons from base models

* Update OpenApi spec

* Updated schema

* Cleanup

* Fix Response Type

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Elitsa <elm@umbraco.dk>
2023-07-05 15:09:39 +03:00
Andreas ZerbstandGitHub c61e6c4901 Revert "Ensure package view path is generated with consideration the current section (#14268)" (#14508)
This reverts commit 5382820e58.
2023-07-05 13:38:02 +02:00
0ad0f86e6e Update to dotnet 8 preview 5 (#14492)
* Update to .net 8 preview 1

* Update npoco to 5.7.0

* Update pipeline to use .net 8

* Revert "Update npoco to 5.7.0"

This reverts commit f7795afa77.

* Fix tests and updated OpenApi.json

* use dotnet 8 in linux container

* Updated templates and docker image to dotnet 8

* Bugfix

* R
Updated docker images to 8.0 preview 1

* linux docker images updated

* Force use c# 11, in hope of the acceptance tests will pass

* Do not use C# 8 :)

* Update to preview 2

* CompatibilitySuppressions

* updated templates

* Disable package validation

* Update to .net8 preview 4

* change EnableStrictModeForCompatibleFrameworksInPackage to false

* Package validation

* Added CompatibilitySuppressions.xml

* Fix up IP networks

* Updated to preview 5

* Update docker images

* Post merge fixes

* Try to update dotnet version of codeql

* Delete empty suppression files

* Remove dependency

* Cleanup

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
2023-07-05 14:13:52 +03:00
59df7439db Verify user invite token (#14491)
* Added functionality to verify user invite tokens and create the initial password

* Add response types

* Fail ValidateCredentialsAsync when user is not approved

* Enable user as part of initial password creating using validation token

* Adds documentation to badrequest and changed nocontent to ok, to align with other APIs

* Fixed tests and added a new one

---------

Co-authored-by: nikolajlauridsen <nikolajlauridsen@protonmail.ch>
2023-07-05 12:42:52 +02:00
Sebastiaan Janssen c4c524deb5 Merge branch 'v12/dev' into contrib 2023-07-04 11:14:47 +02:00
1d239a30ca Fix broken CookieAuthenticationRedirect caused by PR #14036 for non-api requests (#14399)
* Fix broken CookieAuthenticationRedirect caused by PR #14036 when not in an API controller

* Added Integration Tests for the MemberAuthorizationFilter

* Fix merge conflict

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
2023-07-04 10:37:13 +03:00
5382820e58 Ensure package view path is generated with consideration the current section (#14268)
* check section when determining package template path

* return sectionAlias as packageFolder and the route segment won't always match

* fix test

* adds PluginController attribute to StylesheetsTreeController
fixes actionUrl generation to ensure valid URL
find controller by fullname to avoid incorrect controller selection when multiple exist with same name

* Fix frontend breaking changes

* Adding missing PluginController attribute for ScriptsTreeController

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
2023-07-03 15:17:24 +03:00
Jacob Overgaard 8bccab3b60 update backoffice submodule 2023-07-03 14:14:09 +02:00
Kenn JacobsenandGitHub fad710364c Add additional preview URLs option (#14479) 2023-06-30 08:26:31 +03:00
Kenn JacobsenandGitHub 0496fba70b Fix EFCore.Sqlite and EFCore.SqlServer project load in solution file (#14480) 2023-06-29 18:36:29 +02:00
Jacob Overgaard 113b1ff216 update backoffice submodule 2023-06-29 14:12:52 +02:00
Elitsa MarinovskaandGitHub cdfae0ce0b V14: Skip and take updates (#14478)
* Adding default values to skip and take to align with the rest of the controllers

* Changing skip and take type from long to int to align with the rest

* Fixing wrong response type

* Remove double skip and take

* Update json file
2023-06-29 12:33:31 +02:00
d5a0dda89a V14: allowed children endpoints (#14434)
* Implement allowed children of root

* Allow children by key controller

* Update to be document controlller instead

* Fix AllowedChildrenOfRootDocumentController

* Create GetAllAsync method in ContentTypeServiceBaseOfTRepositoryTItemTService

* Revert "Create GetAllAsync method in ContentTypeServiceBaseOfTRepositoryTItemTService"

This reverts commit b01b5b9240.

* Implement attemp pattern in IContentTypeService

* Create IContentCreatingService

* Use new contentCreatingService in controller

* Revert if statement

* Use total from attempt

* Throw exceptions instead of returning attempt

* Wrap in scope

* Rename to GetAllowedChildrenContentTypesAsync

* Fix summary

* Removed unneccessary await Task.FromResult

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-06-29 09:38:05 +02:00
Nikolaj 4d8409ffdf Merge remote-tracking branch 'origin/release/12.0' into v12/dev
# Conflicts:
#	version.json
2023-06-29 09:21:22 +02:00
Andreas ZerbstandGitHub 85ad419cb7 Updated our API acceptance tests to use our updated testHelpers (#14476)
* Updated our dataType API tests to use our updated testHelpers

* Updated our dataTypeFolder API tests to use our updated testHelpers

* Updated our dictionary API tests to use our updated testHelpers

* Updated our language API tests to use our updated testHelpers

* Updated our partialView API tests to use our updated testHelpers

* Updated our partialViewFolder API tests to use our updated testHelpers

* Updated our script API tests to use our updated testHelpers

* Updated our scriptFolder API tests to use our updated testHelpers

* Updated our stylesheet API tests to use our updated testHelpers

* Updated our stylesheetFolder API tests to use our updated testHelpers

* Updated our telemetry API tests to use our updated testHelpers

* Updated our template API tests to use our updated testHelpers

* Updated our temporaryFile API tests to use our updated testHelpers

* Updated our user API tests to use our updated testHelpers

* Updated our userAvatar API tests to use our updated testHelpers

* Updated our userGroup API tests to use our updated testHelpers

* Fixed failing text

* Bumped to use the newest version of our testHelpers
2023-06-29 07:16:33 +02:00
ddca33337b v14: Rewrite static assets for the backoffice (#14472)
* add extension method to rewrite requests meant for backoffice static assets

* add backoffice rewrites to application builder

* embed the umbraco hash into the static assets requested on the backoffice

* Added a IStaticFileHostGenerator so its possible to replace our logic

* add docs and ensure the path is uniform with single slashes

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-06-28 14:55:19 +02:00
7265d5c3be Use OpenIddict with real db instead of inmemory (#14465)
* Add OpenIddict tables to database (#14449)

* Added migrations to install EF Core OpenIddict tables

* Handle Install of ef core data (Needs to be outside of transaction

* Cleanup and renaming, as these things will be reused for more than openiddict in the future

* Cleanup

* Extract db context setup

* Minor cleanup

---------

Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>

* Use OpenIddict from DB instead of InMemoryDb

* Do not try to clean up, while not it run mode

* Fixed tests

* Clean up

---------

Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
Co-authored-by: Elitsa <elm@umbraco.dk>
2023-06-28 09:40:28 +03:00
Nikolaj Brask-NielsenandGitHub 1d14158d82 fix: Allows copying from unsaved content (#14464)
#14459
2023-06-27 17:18:07 +01:00
Anders BjernerandGitHub a090997aa1 Added missing Danish translation for general_change (#14461)
* Added missing Danish translation for `general_change`

* Update en_us.xml
2023-06-27 15:50:11 +01:00
dfc7054720 V14: refactor GetPermissions to use attempt pattern (#14470)
* Refactor GetPermissions to take params

* Rework GetPermissionsAsync to attempt pattern

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-06-27 14:34:02 +02:00
Nikolaj ba724ed97d Bump version to final 2023-06-27 14:15:13 +02:00
Nikolaj 2ef75c5067 Merge branch 'release/12.0' into v12/dev 2023-06-27 14:13:29 +02:00
Bjarke Berg 2cbf44dd4c Updated login svg 2023-06-27 11:53:10 +02:00
Bjarke Berg 135a43f5a4 Add Microsoft.EntityFrameworkCore.Design to UI.New 2023-06-27 10:20:19 +02:00
Jacob Overgaard 3a790b9f04 Merge branch 'release/12.0' into v12/dev 2023-06-27 10:06:36 +02:00
Jacob Overgaard 941dc933fb package-lock sync 2023-06-27 10:04:23 +02:00
Jacob Overgaard 44a3d86986 package-lock sync 2023-06-27 10:03:04 +02:00
Jacob Overgaard 8bb43a8eda Merge branch 'v13/dev' into v14/dev 2023-06-27 10:02:46 +02:00
Jacob Overgaard 2511be61cc package-lock sync 2023-06-27 10:01:45 +02:00
Bjarke Berg 4aa7001fbf Merge remote-tracking branch 'origin/v12/dev' into v14/dev
# Conflicts:
#	src/Umbraco.Core/Services/ContentService.cs
#	src/Umbraco.Infrastructure/CompatibilitySuppressions.xml
#	src/Umbraco.Infrastructure/Migrations/Upgrade/UmbracoPlan.cs
#	src/Umbraco.Web.BackOffice/Controllers/MediaController.cs
2023-06-27 09:50:37 +02:00
Bjarke Berg 685820c295 Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2023-06-27 09:18:17 +02:00
Bjarke Berg f04b49a96c Merge remote-tracking branch 'origin/release/12.0' into v12/dev 2023-06-27 09:18:08 +02:00
Bjarke Berg c7699f2909 Merge remote-tracking branch 'origin/v10/dev' into v11/dev
# Conflicts:
#	src/Umbraco.Web.UI.Client/package-lock.json
#	version.json
2023-06-27 09:07:40 +02:00
Andreas ZerbstandGitHub de235c224a Added missing scope (#14460) 2023-06-26 16:43:22 +02:00
Andreas ZerbstandGitHub 437db52e5e Added UI acceptance for the telemetry section (#14456)
* Added auth to gitignore

* Added a setup for logging in which allows us to save the token for the user

* Added simple acceptance test for testing our api for the DataTypes

* Added simple acceptance tests for testing the API for the PartialView section

* Added simple acceptance tests for testing the API for the Script section

* Added acceptance tests for testing the API for the Stylesheet section.

* Added acceptance tests for testing the API for the User section

* Bumped the version of our testhelpers!

* Added acceptance tests for testing the API for the Dictionary section.

* Added acceptance tests for testing the API for the Language section.

* Added acceptance tests for testing the API for the UserGroups section.

* Added acceptance tests for testing the API for the Template section

* Added acceptance tests for testing the API for the TemporaryFiles section

* Our first UI test for v14

Added acceptance tests for the telemetry section

* Removed page.pause
2023-06-26 15:05:50 +02:00
2973f9fe5a Add OpenIddict tables to database (#14449)
* Added migrations to install EF Core OpenIddict tables

* Handle Install of ef core data (Needs to be outside of transaction

* Cleanup and renaming, as these things will be reused for more than openiddict in the future

* Cleanup

* Extract db context setup

* Minor cleanup

---------

Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
2023-06-26 13:50:57 +02:00
Andreas ZerbstandGitHub acf8f575a8 Added acceptance tests for testing the API for the UserGroups section. (#14448)
* Added auth to gitignore

* Added a setup for logging in which allows us to save the token for the user

* Added simple acceptance test for testing our api for the DataTypes

* Added simple acceptance tests for testing the API for the PartialView section

* Added simple acceptance tests for testing the API for the Script section

* Added acceptance tests for testing the API for the Stylesheet section.

* Added acceptance tests for testing the API for the User section

* Bumped the version of our testhelpers!

* Added acceptance tests for testing the API for the Dictionary section.

* Added acceptance tests for testing the API for the Language section.

* Added acceptance tests for testing the API for the UserGroups section.

* Added acceptance tests for testing the API for the Template section (#14450)

* Added acceptance tests for testing the API for the Template section

* Added acceptance tests for testing the API for the TemporaryFiles section (#14451)
2023-06-26 13:09:41 +02:00
Andreas ZerbstandGitHub ad419dd460 Added acceptance tests for testing the API for the Language section. (#14447)
* Added auth to gitignore

* Added a setup for logging in which allows us to save the token for the user

* Added simple acceptance test for testing our api for the DataTypes

* Added simple acceptance tests for testing the API for the PartialView section

* Added simple acceptance tests for testing the API for the Script section

* Added acceptance tests for testing the API for the Stylesheet section.

* Added acceptance tests for testing the API for the User section

* Bumped the version of our testhelpers!

* Added acceptance tests for testing the API for the Dictionary section.

* Added acceptance tests for testing the API for the Language section.
2023-06-26 12:23:01 +02:00
Andreas ZerbstandGitHub fbc8d453e3 Added acceptance tests for testing the API for the Dictionary section. (#14446)
* Added auth to gitignore

* Added a setup for logging in which allows us to save the token for the user

* Added simple acceptance test for testing our api for the DataTypes

* Added simple acceptance tests for testing the API for the PartialView section

* Added simple acceptance tests for testing the API for the Script section

* Added acceptance tests for testing the API for the Stylesheet section.

* Added acceptance tests for testing the API for the User section

* Bumped the version of our testhelpers!

* Added acceptance tests for testing the API for the Dictionary section.
2023-06-26 12:21:09 +02:00
Jacob Overgaard ca6f9ffadb Merge remote-tracking branch 'origin/v14/dev' into v14/dev 2023-06-26 10:19:46 +02:00
Jacob Overgaard 7a8c4af161 update backoffice submodule 2023-06-26 10:19:38 +02:00
Andreas ZerbstandGitHub b0b29f05af Added acceptance tests for testing the API for the Users section. (#14445)
* Added auth to gitignore

* Added a setup for logging in which allows us to save the token for the user

* Added simple acceptance test for testing our api for the DataTypes

* Added simple acceptance tests for testing the API for the PartialView section

* Added simple acceptance tests for testing the API for the Script section

* Added acceptance tests for testing the API for the Stylesheet section.

* Added acceptance tests for testing the API for the User section

* Bumped the version of our testhelpers!
2023-06-26 10:13:36 +02:00
2c9d0b2cb1 Add create and update dates to Delivery API response (#14427)
Co-authored-by: Elitsa <elm@umbraco.dk>
2023-06-26 08:33:16 +03:00
Kenn JacobsenandGitHub e92ea34098 Remove content from public facing Examine indexes when it is made protected (#14415)
* Remove content from Examine indexes when it gets protected

* Remove backwards compat for discoverability

* Fixed build error for tests
2023-06-23 12:00:32 +02:00
Andreas ZerbstandGitHub 87a66c064f Added acceptance tests for testing the API for the Script section (#14441)
* Added auth to gitignore

* Added a setup for logging in which allows us to save the token for the user

* Added simple acceptance test for testing our api for the DataTypes

* Added simple acceptance tests for testing the API for the PartialView section

* Added simple acceptance tests for testing the API for the Script section

* Added acceptance tests for testing the API for the Stylesheet section. (#14442)
2023-06-23 12:00:16 +02:00
Elitsa MarinovskaandGitHub 115e79113e Delivery API: Ensure the path parameter starts with forward slash (#14428)
* Ensure path starts with forward slash in all cases

* Fix path in preview when getting by route

* Reintroduce path.length check

* Revert previous changes
2023-06-23 11:22:13 +02:00
Andreas ZerbstandGitHub ea520cb851 Added acceptance tests for testing the API for the PartialView section (#14438)
* Added auth to gitignore

* Added a setup for logging in which allows us to save the token for the user

* Added simple acceptance test for testing our api for the DataTypes

* Added simple acceptance tests for testing the API for the PartialView section
2023-06-23 11:09:47 +02:00
Andreas ZerbstandGitHub 893e00f100 Added acceptance test for testing our api for the DataTypes section (#14437)
* Added auth to gitignore

* Added a setup for logging in which allows us to save the token for the user

* Added simple acceptance test for testing our api for the DataTypes
2023-06-23 10:32:17 +02:00
Andreas ZerbstandGitHub 1d215aa1b1 V14/qa/new acceptance tests (#14435)
* Added auth to gitignore

* Added a setup for logging in which allows us to save the token for the user
2023-06-23 08:56:30 +02:00
Sebastiaan Janssen 62f692e617 Merge branch 'v12/dev' into contrib 2023-06-22 13:11:50 +02:00
Bjarke Berg 1149cddc09 Update openAPI 2023-06-22 12:46:25 +02:00
Nikolaj 0f0c256beb Don't leak swagger out of delivery document 2023-06-22 11:38:00 +02:00
Bjarke Berg 053f2e6dff Merge remote-tracking branch 'origin/v12/dev' into v14/dev 2023-06-22 11:37:44 +02:00
Nikolaj 8b1e4fa5c2 Don't leak swagger out of delivery document 2023-06-22 11:37:15 +02:00
Bjarke Berg b7df9f2357 Post merge, add missing swagger UI options 2023-06-22 11:28:22 +02:00
Kenn JacobsenandGitHub 1fb8ea0411 Return raw markdown in the Delivery API (#14429)
* Return raw markdown in the Delivery API

* Reflect markdown value converter changes in the unit tests
2023-06-22 10:48:45 +02:00
Anders ReusandGitHub 4b0e971cf5 Obsolete constructor with deprecated IScopeProvider (#14424) 2023-06-21 22:44:39 +02:00
Bjarke Berg 4f93542909 Updated OpenApi.json 2023-06-21 10:18:36 +02:00
Bjarke Berg 37d8513b42 Remove wrong obsolete message that have been merged up 2023-06-21 09:14:55 +02:00
Bjarke Berg 2ed2fc3533 Added TrustServerCertificate to install apis 2023-06-21 09:12:00 +02:00
Bjarke Berg 22b2f79d15 Merge remote-tracking branch 'origin/v12/dev' into v14/dev
# Conflicts:
#	src/Umbraco.Cms.Api.Common/DependencyInjection/UmbracoBuilderApiExtensions.cs
#	src/Umbraco.Core/CompatibilitySuppressions.xml
#	src/Umbraco.Infrastructure/CompatibilitySuppressions.xml
#	src/Umbraco.Web.Common/Profiler/WebProfiler.cs
2023-06-21 09:06:42 +02:00
Bjarke Berg 7a4a4f60c4 Merge remote-tracking branch 'origin/release/14.0' into v14/dev 2023-06-21 09:05:31 +02:00
Bjarke Berg 159dbcc655 Merge remote-tracking branch 'origin/v11/dev' into v12/dev
# Conflicts:
#	version.json
2023-06-21 08:54:10 +02:00
Bjarke Berg 3c81f968c3 post merge clean up 2023-06-21 08:53:18 +02:00
Bjarke Berg 44fde47ad9 Merge remote-tracking branch 'origin/release/11.4.1' into v11/dev 2023-06-21 08:52:40 +02:00
Bjarke Berg 7ab6598d0b Merge remote-tracking branch 'origin/v10/dev' into v11/dev
# Conflicts:
#	src/Umbraco.Web.UI.Client/package-lock.json
#	src/Umbraco.Web.UI.Client/package.json
2023-06-21 08:41:35 +02:00
Bjarke Berg 6e41a3123d Merge remote-tracking branch 'origin/release/12.0' into v12/dev 2023-06-21 08:37:43 +02:00
Bjarke Berg 7cdf7258f4 Merge remote-tracking branch 'origin/release/12.0' into v12/dev
# Conflicts:
#	version.json
2023-06-21 08:37:15 +02:00
Kenn JacobsenandGitHub 0cdea6120b Add support for property value fallbacks in the delivery API (#14421)
* Add support for property value fallbacks in the delivery API

* Add dedicated tests for the IDeliveryApiPropertyValueConverter interface

* Rewrite for less impact and more streamlined with Razor output
2023-06-21 08:32:57 +02:00
nikolajlauridsen dcd400810c Bump version 2023-06-20 14:47:54 +02:00
miguelcrpintoandEmma L Garland 4d63b3ce30 Updated the IsoDateTimeConverter initialization in the JsonDateTimeFormatAttribute to set the Culture to InvariantCulture so that the custom DateTime format symbols ( date and time separators) are respected independent of the CurrentCulture being used. 2023-06-20 13:15:03 +01:00
Sebastiaan Janssen f91fde2462 Fixes #14269 - semaphore released too many times as it always happens in the finally, which is 1 too many times when the upload was a success 2023-06-20 14:02:53 +02:00
Jacob Overgaard 95f7cdd418 add dependency on 'Build' stage to get output parameter 2023-06-20 13:56:45 +02:00
Bjarke Berg 197efbb12c Merge remote-tracking branch 'origin/release/12.0' into v12/dev
# Conflicts:
#	src/Umbraco.Infrastructure/Sync/ServerMessengerBase.cs
#	version.json
2023-06-20 13:56:27 +02:00
leekelleherandSebastiaan Janssen c608cc83ba 📓 Updated README
Moved the badges lower down and tweaked for consistency.
2023-06-20 13:36:58 +02:00
dependabot[bot]andJacob Overgaard 8d6d933600 Bump socket.io-parser from 4.2.1 to 4.2.4 in /src/Umbraco.Web.UI.Client
Bumps [socket.io-parser](https://github.com/socketio/socket.io-parser) from 4.2.1 to 4.2.4.
- [Release notes](https://github.com/socketio/socket.io-parser/releases)
- [Changelog](https://github.com/socketio/socket.io-parser/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/socket.io-parser/compare/4.2.1...4.2.4)

---
updated-dependencies:
- dependency-name: socket.io-parser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-20 13:30:43 +02:00
dependabot[bot]andJacob Overgaard 0fa42a10b5 Bump socket.io-parser from 4.2.1 to 4.2.4 in /src/Umbraco.Web.UI.Client
Bumps [socket.io-parser](https://github.com/socketio/socket.io-parser) from 4.2.1 to 4.2.4.
- [Release notes](https://github.com/socketio/socket.io-parser/releases)
- [Changelog](https://github.com/socketio/socket.io-parser/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/socket.io-parser/compare/4.2.1...4.2.4)

---
updated-dependencies:
- dependency-name: socket.io-parser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-20 13:30:31 +02:00
dependabot[bot]andJacob Overgaard 9c1f912639 Bump socket.io-parser from 4.2.1 to 4.2.4 in /src/Umbraco.Web.UI.Client
Bumps [socket.io-parser](https://github.com/socketio/socket.io-parser) from 4.2.1 to 4.2.4.
- [Release notes](https://github.com/socketio/socket.io-parser/releases)
- [Changelog](https://github.com/socketio/socket.io-parser/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/socket.io-parser/compare/4.2.1...4.2.4)

---
updated-dependencies:
- dependency-name: socket.io-parser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-20 13:30:20 +02:00
dependabot[bot]andJacob Overgaard 6b78d4b647 Bump socket.io-parser from 4.2.1 to 4.2.4 in /src/Umbraco.Web.UI.Client
Bumps [socket.io-parser](https://github.com/socketio/socket.io-parser) from 4.2.1 to 4.2.4.
- [Release notes](https://github.com/socketio/socket.io-parser/releases)
- [Changelog](https://github.com/socketio/socket.io-parser/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/socket.io-parser/compare/4.2.1...4.2.4)

---
updated-dependencies:
- dependency-name: socket.io-parser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-20 13:30:09 +02:00
Jacob Overgaard 29f8f0be39 Merge branch 'v11/dev' into release/11.4.1 2023-06-20 13:29:47 +02:00
dependabot[bot]andJacob Overgaard fba1afe7fe Bump socket.io-parser from 4.2.1 to 4.2.4 in /src/Umbraco.Web.UI.Client
Bumps [socket.io-parser](https://github.com/socketio/socket.io-parser) from 4.2.1 to 4.2.4.
- [Release notes](https://github.com/socketio/socket.io-parser/releases)
- [Changelog](https://github.com/socketio/socket.io-parser/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/socket.io-parser/compare/4.2.1...4.2.4)

---
updated-dependencies:
- dependency-name: socket.io-parser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-20 13:29:08 +02:00
dependabot[bot]andJacob Overgaard 020fabfe82 Bump socket.io-parser from 4.2.1 to 4.2.4 in /src/Umbraco.Web.UI.Client
Bumps [socket.io-parser](https://github.com/socketio/socket.io-parser) from 4.2.1 to 4.2.4.
- [Release notes](https://github.com/socketio/socket.io-parser/releases)
- [Changelog](https://github.com/socketio/socket.io-parser/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/socket.io-parser/compare/4.2.1...4.2.4)

---
updated-dependencies:
- dependency-name: socket.io-parser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-20 13:28:35 +02:00
dependabot[bot]andJacob Overgaard 8622344b96 Bump fast-xml-parser and is-svg in /src/Umbraco.Web.UI.Client
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) and [is-svg](https://github.com/sindresorhus/is-svg). These dependencies needed to be updated together.

Updates `fast-xml-parser` from 3.20.3 to 4.2.4
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/commits)

Updates `is-svg` from 4.3.1 to 4.4.0
- [Release notes](https://github.com/sindresorhus/is-svg/releases)
- [Commits](https://github.com/sindresorhus/is-svg/compare/v4.3.1...v4.4.0)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-type: indirect
- dependency-name: is-svg
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-20 13:24:20 +02:00
dependabot[bot]andJacob Overgaard c665ab453d Bump fast-xml-parser and is-svg in /src/Umbraco.Web.UI.Client
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) and [is-svg](https://github.com/sindresorhus/is-svg). These dependencies needed to be updated together.

Updates `fast-xml-parser` from 3.20.3 to 4.2.4
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/commits)

Updates `is-svg` from 4.3.1 to 4.4.0
- [Release notes](https://github.com/sindresorhus/is-svg/releases)
- [Commits](https://github.com/sindresorhus/is-svg/compare/v4.3.1...v4.4.0)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-type: indirect
- dependency-name: is-svg
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-20 13:24:13 +02:00
dependabot[bot]andJacob Overgaard 7eef9f4652 Bump fast-xml-parser and is-svg in /src/Umbraco.Web.UI.Client
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) and [is-svg](https://github.com/sindresorhus/is-svg). These dependencies needed to be updated together.

Updates `fast-xml-parser` from 3.20.3 to 4.2.4
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/commits)

Updates `is-svg` from 4.3.1 to 4.4.0
- [Release notes](https://github.com/sindresorhus/is-svg/releases)
- [Commits](https://github.com/sindresorhus/is-svg/compare/v4.3.1...v4.4.0)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-type: indirect
- dependency-name: is-svg
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-20 13:23:56 +02:00
dependabot[bot]andJacob Overgaard 495b3669f5 Bump fast-xml-parser and is-svg in /src/Umbraco.Web.UI.Client
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) and [is-svg](https://github.com/sindresorhus/is-svg). These dependencies needed to be updated together.

Updates `fast-xml-parser` from 3.20.3 to 4.2.4
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/commits)

Updates `is-svg` from 4.3.1 to 4.4.0
- [Release notes](https://github.com/sindresorhus/is-svg/releases)
- [Commits](https://github.com/sindresorhus/is-svg/compare/v4.3.1...v4.4.0)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-type: indirect
- dependency-name: is-svg
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-20 13:22:58 +02:00
Jacob Overgaard c161616b91 sync lockfile 2023-06-20 13:22:31 +02:00
dependabot[bot]andJacob Overgaard 2e1873197a Bump fast-xml-parser and is-svg in /src/Umbraco.Web.UI.Client
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) and [is-svg](https://github.com/sindresorhus/is-svg). These dependencies needed to be updated together.

Updates `fast-xml-parser` from 3.20.3 to 4.2.4
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/commits)

Updates `is-svg` from 4.3.1 to 4.4.0
- [Release notes](https://github.com/sindresorhus/is-svg/releases)
- [Commits](https://github.com/sindresorhus/is-svg/compare/v4.3.1...v4.4.0)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-type: indirect
- dependency-name: is-svg
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-20 13:22:03 +02:00
dependabot[bot]andJacob Overgaard 2322a2befb Bump fast-xml-parser and is-svg in /src/Umbraco.Web.UI.Client
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) and [is-svg](https://github.com/sindresorhus/is-svg). These dependencies needed to be updated together.

Updates `fast-xml-parser` from 3.20.3 to 4.2.4
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/commits)

Updates `is-svg` from 4.3.1 to 4.4.0
- [Release notes](https://github.com/sindresorhus/is-svg/releases)
- [Commits](https://github.com/sindresorhus/is-svg/compare/v4.3.1...v4.4.0)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-type: indirect
- dependency-name: is-svg
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-20 13:20:50 +02:00
Jacob Overgaard b725153be1 v11: Backoffice JS Updates (#14407)
* update @umbraco-ui/uui to 1.3.0

* update @microsoft/signalr to 7.0.7

* update ace editor to 1.22.1

* update jQuery to 3.7.0

* update nouislider to 15.7.1

* update tinymce to 6.5.1

* update spectrum-colorpicker2 to 2.0.10

* update build dependencies
2023-06-20 13:18:25 +02:00
Jacob Overgaard b4ab76c2a8 update backoffice submodule 2023-06-20 13:17:26 +02:00
Bjarke BergandGitHub 54479c9538 Updated nuget packages to latest versions (#14419) 2023-06-20 12:21:16 +02:00
MoleandGitHub 446544c045 V12: Add deliver api information to detailed telemetry (#14418)
* Add deliver api information to detailed telemetry

* Update translation
2023-06-20 12:03:46 +02:00
Ronald BarendseandGitHub c989c5e214 Support publishing multiple notifications, filter on handler type and add IDistributedCacheNotificationHandler<TNotification> (optimizes cache refreshers) (#14332)
* Clean up DistributedCache and add additional checks

* Add IEnumerable overloads to DistributedCacheExtensions

* Update handlers to use new IEnumerable overloads

* Move DistributedCacheExtensions to Core

* Restructure cache refreshers into folders

* Add IDistributedCacheNotificationHandler

* Rewrite DistributedCacheBinder into seperate IDistributedCacheNotificationHandler implementations

* Obsolete DistributedCacheBinder and use new IDistributedCacheHandler implementations

* Clean up ServerMessengerBase

* Ensure cache refreshers only process distinct values

* Add support for publishing multiple notifications and filter on handler type

* Suppress compatibility issues

* Remove DistributedCacheBinder and suppress compatibility issues

* Add ScopedNotificationPublisher<TNotificationHandler>

* Improve notification type lookup/enumeration

* Ensure INotificationAsyncHandler handles multiple notitications sequentially

* Minimize cache instruction JSON

* Chunk notifications by type to keep publish order

* Only serialize required RefreshInstruction properties
2023-06-20 11:15:47 +02:00
Jacob Overgaard 2cb1d31375 Merge branch 'v14/dev' of https://github.com/umbraco/Umbraco-CMS into v14/dev 2023-06-20 11:02:41 +02:00
Jacob Overgaard 645345a51b v11: Backoffice JS Updates (#14407)
* update @umbraco-ui/uui to 1.3.0

* update @microsoft/signalr to 7.0.7

* update ace editor to 1.22.1

* update jQuery to 3.7.0

* update nouislider to 15.7.1

* update tinymce to 6.5.1

* update spectrum-colorpicker2 to 2.0.10

* update build dependencies
2023-06-20 11:02:32 +02:00
Jacob Overgaard 43fb128292 v11: Backoffice JS Updates (#14407)
* update @umbraco-ui/uui to 1.3.0

* update @microsoft/signalr to 7.0.7

* update ace editor to 1.22.1

* update jQuery to 3.7.0

* update nouislider to 15.7.1

* update tinymce to 6.5.1

* update spectrum-colorpicker2 to 2.0.10

* update build dependencies
2023-06-20 11:02:20 +02:00
Jacob Overgaard 326eab7d3c v11: Backoffice JS Updates (#14407)
* update @umbraco-ui/uui to 1.3.0

* update @microsoft/signalr to 7.0.7

* update ace editor to 1.22.1

* update jQuery to 3.7.0

* update nouislider to 15.7.1

* update tinymce to 6.5.1

* update spectrum-colorpicker2 to 2.0.10

* update build dependencies
2023-06-20 11:01:59 +02:00
Jacob Overgaard cbffd56459 v11: Backoffice JS Updates (#14407)
* update @umbraco-ui/uui to 1.3.0

* update @microsoft/signalr to 7.0.7

* update ace editor to 1.22.1

* update jQuery to 3.7.0

* update nouislider to 15.7.1

* update tinymce to 6.5.1

* update spectrum-colorpicker2 to 2.0.10

* update build dependencies
2023-06-20 11:00:31 +02:00
MoleandGitHub dd90ef2d81 Update OpenApi.json (#14417) 2023-06-20 10:23:41 +02:00
nikolajlauridsen 06492d9daf Set version 2023-06-20 10:01:59 +02:00
christophnzandBusra Sengul 77a2e4b557 Fixed typo "optinal" to "optional" for translation dictionary import dialog and 2 other occurrences 2023-06-20 10:38:50 +03:00
Jacob OvergaardandGitHub bcabc678a7 v11: Backoffice JS Updates (#14407)
* update @umbraco-ui/uui to 1.3.0

* update @microsoft/signalr to 7.0.7

* update ace editor to 1.22.1

* update jQuery to 3.7.0

* update nouislider to 15.7.1

* update tinymce to 6.5.1

* update spectrum-colorpicker2 to 2.0.10

* update build dependencies
2023-06-20 09:24:42 +02:00
Jacob OvergaardandGitHub 5900f5bede v14: update package templates with new umbraco-package.json format (#14412)
* update package templates with new umbraco-package.json format

* remove $schema for now because we dont know where people will locate this file (refer to documentation)
2023-06-19 15:29:27 +02:00
Jacob Overgaard a463415b47 update backoffice submodule 2023-06-19 14:47:32 +02:00
4fb605c086 Delivery API: Add query params and headers to Swagger document (#14370)
* Adding query params documentation

* Adding headers

* Rename file

* Added a few more descriptions and changed a few as well

---------

Co-authored-by: kjac <kja@umbraco.dk>
2023-06-19 14:24:45 +02:00
Bjarne FyrstenborgandJacob Overgaard 78c8328501 Show SVG icons for toolbar in configuration of richtext editor (#14404)
* Load default icons to show them next to checkboxes in configuration of richtext editor

* More mapping of icons

* Fix vertical align items centered not reflected

* Wrap mapping in function

* Map a few more icons

* Cleanup and formatting

* Cleanup

* Cleanup

* Add period in description
2023-06-19 13:51:42 +02:00
Bjarne FyrstenborgandJacob Overgaard d42ef7b340 Show SVG icons for toolbar in configuration of richtext editor (#14404)
* Load default icons to show them next to checkboxes in configuration of richtext editor

* More mapping of icons

* Fix vertical align items centered not reflected

* Wrap mapping in function

* Map a few more icons

* Cleanup and formatting

* Cleanup

* Cleanup

* Add period in description
2023-06-19 13:50:15 +02:00
Bjarne FyrstenborgandJacob Overgaard 529d056c0c Show SVG icons for toolbar in configuration of richtext editor (#14404)
* Load default icons to show them next to checkboxes in configuration of richtext editor

* More mapping of icons

* Fix vertical align items centered not reflected

* Wrap mapping in function

* Map a few more icons

* Cleanup and formatting

* Cleanup

* Cleanup

* Add period in description
2023-06-19 13:49:50 +02:00
Bjarne FyrstenborgandGitHub 583965cf9d Show SVG icons for toolbar in configuration of richtext editor (#14404)
* Load default icons to show them next to checkboxes in configuration of richtext editor

* More mapping of icons

* Fix vertical align items centered not reflected

* Wrap mapping in function

* Map a few more icons

* Cleanup and formatting

* Cleanup

* Cleanup

* Add period in description
2023-06-19 13:48:03 +02:00
Mads Mørch SchouandGitHub 0a4a938b88 Makes sure the nucache is not truncated when its null (#14395)
* Makes sure the nucache is not truncated when its null
* Removed parentheses
2023-06-16 18:22:39 +01:00
Jason ElkinandGitHub 118f914158 Add ContentDeletingNotification to EmptyRecycleBin (#14397)
* Add ContentDeletingNotification to EmptyRecycleBin

* Fix formatting.
2023-06-16 16:45:49 +03:00
1ba834a9ca fix: #12253 Anchor picker does not appear (#13492)
* fix: #12253 Anchor picker does not appear

* Update ContentServiceExtensions.cs

fix: #12253  #13492 ; implement PR suggestions, test the new changes to confirm that they fix the issue with the anchorlink implementation on RTE from blocklist, blockgrid and normal RTE properties
Co-Authored-By: Laura Neto <12862535+lauraneto@users.noreply.github.com>

* Removed unnecessary using and code

* Small adjustments

---------

Co-authored-by: Laura Neto <12862535+lauraneto@users.noreply.github.com>
2023-06-16 14:40:19 +02:00
542d0f7f74 Fix/delete language error message 14333 (#14396)
* Update the tour text to the correct text and to save confusion

* Added extra information to the delete language warning to inform the user that it will also delete all content related to the language

* Updated language files with same message re deletion

---------

Co-authored-by: Paul Seal <p.seal@clerkswell.com>
Co-authored-by: Emma Garland <emma.garland@rocksolidknowledge.com>
2023-06-16 12:11:23 +01:00
Jan SkovgaardandGitHub a823055c9d Change nonodes image (#14392) 2023-06-16 13:44:05 +03:00
Bjarne FyrstenborgandMichael Latouche 575f00d6f0 Update label in Danish translation 2023-06-16 11:33:34 +02:00
alevak09andGitHub 9f4d3e5525 Add Croatian Language (#14379)
Croatian language translation of Umbraco backoffice and culture settings
2023-06-16 09:49:22 +01:00
Paul SealandMichael Latouche 5073a26e7f Update the tour text to the correct text and to save confusion 2023-06-16 10:46:06 +02:00
Jacob Overgaard c512039083 upload api docs after myget release 2023-06-13 12:52:16 +02:00
Jacob Overgaard 3ed89c9a6d Merge branch 'v14/dev' into release/14.0 2023-06-13 12:50:14 +02:00
Jacob Overgaard 2c3c86a55d update backoffice submodule 2023-06-13 12:49:45 +02:00
Jacob Overgaard 0fcb2890aa Merge remote-tracking branch 'origin/v14/dev' into release/14.0 2023-06-12 14:20:51 +02:00
Jacob Overgaard d9c1de928b update backoffice submodule 2023-06-12 14:17:06 +02:00
Jacob OvergaardandGitHub da0ad33818 V14: frontend ui docs (#14374)
* update script to compile frontend api docs

* update backoffice submodule

* set the base path for the ui docs

* update env syntax

* remove Umbraco.Web.UI.Docs

* replace BASE_PATH in assets

* Make Upload API step able to run without releasing on nuget

* add dependOn Build to get major version number
2023-06-12 14:12:02 +02:00
9a5e1c437e V12/feature/enable trust server certificate from installer (#14361)
* Enable checkbox with Trust server certificate in installer

* Fix up behavioral change

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-06-12 10:58:40 +02:00
Bjarke Berg 520309e3f8 Merge remote-tracking branch 'origin/v12/dev' into v14/dev
# Conflicts:
#	src/Umbraco.Infrastructure/Migrations/Upgrade/UmbracoPlan.cs
#	src/Umbraco.Infrastructure/Persistence/Repositories/Implement/UserRepository.cs
#	src/Umbraco.Web.BackOffice/Controllers/MediaController.cs
#	src/Umbraco.Web.BackOffice/Filters/FileUploadCleanupFilterAttribute.cs
2023-06-12 10:10:08 +02:00
10631decb1 Update security stamps on logout (#14362)
Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-06-12 10:07:44 +02:00
Bjarke Berg 1033806c49 Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2023-06-12 10:05:49 +02:00
Bjarke Berg f24ff4918e Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2023-06-12 10:03:26 +02:00
Kenn JacobsenandGitHub cbf42bd91a Make the API versioning and Swagger config less intrusive (#14363) 2023-06-12 09:31:39 +02:00
Kenn JacobsenandGitHub 6b280bd165 Make the Delivery API JSON type info resolver un-sealed (#14368) 2023-06-12 07:58:35 +02:00
Jacob Overgaard 1e95437a0a update backoffice submodule 2023-06-09 11:18:38 +02:00
MoleandGitHub 45fd5d218b Use ComputeHMACAsync instead of ComputeHMAC in URL generator (#14364) 2023-06-09 09:20:07 +02:00
MoleandGitHub 64c7c6b439 Fetch GUID directly and make it non async (#14358) 2023-06-08 14:49:52 +02:00
8b7094c8cf V12: use database when testing examine (#14360)
* Use databases for examine tests

* Use same schema for entire fixture

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-06-08 12:05:10 +02:00
d9dced55c4 Disable sortable if readonly or max is limited to one item (#14252)
* Disable sortable if readonly or max is set limited to one item

* Disable sortable on single URL picker

* Don't disable block list sorting based on validation limit, but do for single block mode

* Disable sorting in media picker 3 in single mode

* Remove extra whitespace

* Disable draggable

* Tweaked wording of "item(s)"

---------

Co-authored-by: Sebastiaan Janssen <sebastiaan@umbraco.com>
Co-authored-by: Emma Garland <emma.garland@rocksolidknowledge.com>
2023-06-08 10:31:16 +01:00
4aa1597138 Fix for escaping markdown characters in property descriptions (#12345)
* Added secure to the UMB-XSRF-V cookie when global https is true.

* tweaked markdown handling

* added in link handling tweak for simpleMarkdown filter

* tweaked simple markdown filter to modify all links instead of just the first one

* moved transformation of markdown content in description into C# code

* Format of white space

* Reverted unecessary change.

* Removed unwanted framework version lines

* Reduce nesting of if statements.

* Changed to .Contains for readability.

---------

Co-authored-by: Corey Philipp <CPhilipp@dewpoint.com>
Co-authored-by: jaandrews <jaandrews88@gmail.com>
Co-authored-by: Emma Garland <emma.garland@rocksolidknowledge.com>
2023-06-08 10:11:18 +01:00
Kenn JacobsenandGitHub ddade09b14 Fix broken name sorting in the Delivery API (#14350) 2023-06-08 10:59:29 +02:00
MoleandGitHub 040bf2c1e3 Replace use of SortedSet with HashSets and ISets (#14353) 2023-06-08 10:30:23 +02:00
Sebastiaan Janssen 8447350915 Merge branch 'v12/dev' into contrib 2023-06-08 10:24:39 +02:00
Bjarke Berg 9a8edbabb3 Merge remote-tracking branch 'origin/v12/dev' into v14/dev 2023-06-08 10:12:10 +02:00
Bjarke Berg 63b1865053 Merge remote-tracking branch 'origin/release/14.0' into v14/dev 2023-06-08 10:12:02 +02:00
Bjarke Berg c9bb48aabf Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2023-06-08 10:10:45 +02:00
Bjarke Berg c84a3e2fe4 Merge remote-tracking branch 'origin/v12/dev' into release/14.0
# Conflicts:
#	src/Umbraco.Core/Manifest/PackageManifest.cs
#	src/Umbraco.Core/Telemetry/TelemetryService.cs
#	src/Umbraco.Infrastructure/Manifest/LegacyManifestParser.cs
#	src/Umbraco.Infrastructure/Migrations/Upgrade/V_12_0_0/ResetCache.cs
#	src/Umbraco.Infrastructure/Persistence/Repositories/Implement/CreatedPackageSchemaRepository.cs
#	src/Umbraco.Infrastructure/Services/Implement/PackagingService.cs
#	tests/Umbraco.Tests.UnitTests/Umbraco.Core/Telemetry/TelemetryServiceTests.cs
2023-06-08 10:07:29 +02:00
MoleandGitHub fdf5beb22a Add get ByEditorUiAlias datatype item endpoint (#14352) 2023-06-08 09:04:48 +02:00
Bjarke Berg 96dc594269 Merge remote-tracking branch 'origin/v11/dev' into release/12.0
# Conflicts:
#	tests/Umbraco.Tests.Integration/Umbraco.Examine.Lucene/UmbracoExamine/IndexTest.cs
#	version.json
2023-06-08 08:37:30 +02:00
Bjarke Berg 8ae0c82e85 Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2023-06-08 08:36:15 +02:00
Bjarke Berg 498eb083dd Updated version number 2023-06-07 16:12:47 +02:00
Lili RossiterandSebastiaan Janssen b60ddf484f fix for focus state of checkbox 2023-06-07 14:01:13 +02:00
ChadandGitHub e784cfa960 Improve logging performance by checking Trace/Debug log level is enabled (#12793) 2023-06-07 11:47:05 +02:00
Niels LyngsøandGitHub fe714805bb Add location header for CORS requests (#14349) 2023-06-07 10:15:16 +02:00
nikolajlauridsen 599bfea496 Bump version 2023-06-06 13:52:53 +02:00
nikolajlauridsen 537e078d43 Merge branch 'release/12.0' into v12/dev 2023-06-06 13:52:17 +02:00
MoleandGitHub 582b784ffe V14: Update template controllers (#14326)
* Add alias to document item response

* Add master template key to detailed model

* Add mater template key as optiona parameter to Scaffolding

* Check for duplicate alias when creating templates directly

* Clean

* Ensure integration tests creates templates with unique aliases

* Perform mapping in presentation factory
2023-06-06 13:45:39 +02:00
nikolajlauridsen a6bb637fab Add scopes to tests 2023-06-06 12:24:29 +02:00
MoleandGitHub 4744d711ed Use scopes in PackaginService (#14343) 2023-06-06 12:00:53 +02:00
Jacob Overgaard 9947d4a15a update backoffice submodule 2023-06-06 10:44:18 +02:00
Mole 2dd7d610da Update OpenIdDict (#14340) 2023-06-06 10:15:53 +02:00
MoleandGitHub cd3f06349b Update OpenIdDict (#14340) 2023-06-06 10:15:31 +02:00
Kenn JacobsenandGitHub fe0cbc50c8 Temporary CRUD API for content types (#14334)
* Add temporary controllers for document type CRUD

* Update OpenAPI json

* Review comments

* Add comment for future refactoring
2023-06-06 09:32:02 +02:00
MoleandGitHub b391fc50e9 Remove external login tokens before removing external logins (#14341) 2023-06-06 09:29:03 +02:00
4180170acf Get current user endpoint in management api (#14336)
* Add current user data endpoint

* Add Change password endpoint

* Add SetAvatar

* Add get node permissions

* Add endpoint for getting currently logged in users linked logins

* Add tour service

* Add get tours

* Add set tour endpoint

* Added PermissionNames to IReadOnlyUserGroup

* Only require backend auth on management api

* Use ISet in response model

* Fixed issue with saving null as startMediaId, where it was ignored

* Add get current user endpoint

* Fix missing linebreak

* Append "New" keyword to policies

* Update OpenApi

---------

Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
2023-06-05 15:20:18 +02:00
809883f088 Support entirely unpublished content in preview mode (#14307)
* Support draft-only content in the Delivery API query

* Allow outputting "entirely unpublished" content

* Make the preview path explicit to avoid clashing endpoints

* Handle trailing slash setting for preview URLs

* Update src/Umbraco.Infrastructure/Examine/DeliveryApiContentIndexValueSetBuilder.cs

Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>

* Remove superfluous (and incorrect) unpublished route handling

* Make sure preview output includes routes for unpublished cultures

* Ensure that published content with unpublished ancestors are available in preview

* Fix route start item when previewing published content with unpublished parent

---------

Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
2023-06-05 12:00:25 +02:00
Nikolaj Geisle c65f22a1d6 Use hosting environment to get local temp path (#14335) 2023-06-05 10:57:39 +02:00
Nikolaj GeisleandGitHub 6073662140 Use hosting environment to get local temp path (#14335) 2023-06-05 10:56:56 +02:00
MoleandGitHub 0ad0179cd6 V14: Current user controller (#14323)
* Add current user data endpoint

* Add Change password endpoint

* Add SetAvatar

* Add get node permissions

* Add endpoint for getting currently logged in users linked logins

* Add tour service

* Add get tours

* Add set tour endpoint

* Split permissions endpoint in two, one for media and one for document
2023-06-05 08:42:29 +02:00
Jacob Overgaard 4a07f9a839 update backoffice submodule 2023-06-02 12:08:34 +02:00
Jacob Overgaard ef0e085c74 add login build to azure 2023-06-02 11:46:47 +02:00
Jacob Overgaard 6c731ca4ec update backoffice submodule 2023-06-02 11:23:01 +02:00
Jacob Overgaard 1e76ace11a add asp-append-version to static assets for backoffice 2023-06-01 11:29:10 +02:00
Jacob Overgaard 7839e14163 update backoffice submodule 2023-06-01 08:52:01 +02:00
Jacob OvergaardandGitHub 43ffeb673b v14: login app (#14318)
* ignore output files

* add new umb-login element

* allow to build and clean 'login' assets

* remove unused AuthUrl since this is now coded into the frontend code for each context

* ensure the ReturnUrl has a fallback to the default installation directory, since if you accidentally hit the login page and login, nothing happens if there is no return url

* switch to DependsOnTargets to account for if this is the only target being run (we need node_modules installed)

* add UmbracoUrl property

* add taghelper to use asp-append-version on login static assets
2023-06-01 08:50:21 +02:00
Jacob OvergaardandGitHub 33cb74dff1 V14: umbraco-package.json schema (#14319)
* copy umbraco-package-schema.json over from the New.Client build

* when a project referencing Cms.Targets is  building, we want to copy out the umbraco-package-schema.json file to the project directory if it does not exist

* ignore built output files

* fix typo

* add PackageReference to Umbraco.Cms.Targets to ensure dependent json schema files are copied over

* add to gitignore

* add target to remove the _UmbracoCmsPackageSchemaReference on clean

* Revert "add PackageReference to Umbraco.Cms.Targets to ensure dependent json schema files are copied over"

This reverts commit 339043a36f.

* generate umbraco-package-schema.json on demand in Cms.Targets

* add generated file to .gitignore
2023-05-31 19:12:00 +02:00
Arkadiusz BielandGitHub 9bafdbd992 Add notification flag to indicate the current publish operation includes descendants (#13145) 2023-05-31 17:33:23 +02:00
Bjarne FyrstenborgandGitHub 676efb9f89 Show summary of Examine search results (#14300) 2023-05-31 17:25:24 +02:00
Callum WhyteandGitHub e6903bffcd Convert collections for XPath in PropertyValueConverterBase (#14275) 2023-05-31 16:58:42 +02:00
Miguel PintoandGitHub 76cb85224e Swapped the sortCreateDateAscending and sortCreateDateDescending translation values to match the intended behavior (#14315) 2023-05-31 16:39:37 +02:00
Jacob Overgaard cdd3adfd3c update backoffice submodule 2023-05-31 14:41:23 +02:00
AhmetandGitHub cf6a7a3bc0 Fix #14270 - ImageCropperValue.GetCropUrl(alias, imageUrlGenerator) always returns null (#14308) 2023-05-31 13:47:09 +02:00
RussellandGitHub dd59ef17f5 Fix for User null from IP address "::1" has logged out (#14322) 2023-05-31 12:46:02 +02:00
RussellandGitHub 0220621337 Change "Media Picker" in RTE to "Image Picker" (#14321) 2023-05-31 12:45:02 +02:00
184cf9f26d Fix URL encoded paths for the item endpoint (#14311)
* Fix URL encoded paths for the item endpoint

* Sanity check accept-language headers before accepting them

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
2023-05-31 12:14:26 +02:00
Ronald BarendseandGitHub 41e51d6e71 Add PackageId to package manifest and PackageMigrationPlan (#14047)
* Add VersionAssemblyName to package manifest

* Fix/improve nullability

* Ensure package version from manifest is set when package migration exists

* Set versionAssemblyName in umbracopackage template

* Use Assembly.Load instead of ITypeFinder

* Use AssemblyLoadContext to get asesmbly by name

* Add PackageId to package manifest

* Show ID on installed packages overview

* Fallback to package ID to get assembly version

* Include package ID in telemetry data

* Set id in umbracopackage template

* Add PackageId to PackageMigrationPlan

* Get version from package migration assembly

* Hide unknown package version

* Always use package name from manifest

* Use IPackagingService to return package telemety data

* Set versionAssemblyName in umbracopackage-rcl template

* Set id in umbracopackage-rcl template
2023-05-31 11:31:37 +02:00
Bjarke Berg dbfedf31bd Merge remote-tracking branch 'origin/v12/dev' into v14/dev 2023-05-31 09:46:59 +02:00
Bjarke Berg 82746518d4 Merge remote-tracking branch 'origin/v11/dev' into v12/dev
# Conflicts:
#	tests/Umbraco.Tests.Integration/Umbraco.Examine.Lucene/UmbracoExamine/IndexTest.cs
#	version.json
2023-05-31 09:11:24 +02:00
Bjarke Berg 2407d42de6 Merge remote-tracking branch 'origin/v10/dev' into v11/dev
# Conflicts:
#	src/Umbraco.Core/Constants-Telemetry.cs
#	tests/Umbraco.Tests.Integration/Umbraco.Core/Telemetry/TelemetryServiceTests.cs
2023-05-31 08:48:28 +02:00
Kenn JacobsenandGitHub 3b433e6658 Expose "expanding" state in API value conversion (#14312)
* Expose "expanding" state in API value conversion

* Add unit test

* Add non-breaking and obsoletion

* Add compat suppressions
2023-05-31 08:46:30 +02:00
Jacob Overgaard 61c4aac0c9 update backoffice submodule 2023-05-30 16:10:56 +02:00
Ronald BarendseandGitHub 84a0cd8c09 Add VersionAssemblyName to package manifest (#14046)
* Add VersionAssemblyName to package manifest

* Fix/improve nullability

* Ensure package version from manifest is set when package migration exists

* Set versionAssemblyName in umbracopackage template

* Use Assembly.Load instead of ITypeFinder

* Use AssemblyLoadContext to get asesmbly by name

* Get version from package migration assembly

* Hide unknown package version

* Set versionAssemblyName in umbracopackage-rcl template
2023-05-30 15:47:36 +02:00
Jacob Overgaard 917b227294 update backoffice submodule 2023-05-30 14:13:23 +02:00
MoleandGitHub 138148481d V14: Add information to tree items (#14301)
* Add variant information to the document tree model

* Add content type key to document tree and item

* Add sort order to PropertyTypeResponseModelBase
2023-05-30 11:00:22 +02:00
Jacob Overgaard 3c3ab83411 update backoffice submodule 2023-05-26 16:10:36 +02:00
michiel-sjandGitHub 0f18b50126 Adding logging and make sure PostAddFile always releases the file semaphore (#14269) 2023-05-26 13:51:29 +02:00
Jacob Overgaard 2d7a62eac5 update backoffice submodule 2023-05-26 11:22:59 +02:00
Bjarke Berg b9c0e18fb1 Merge remote-tracking branch 'origin/v12/dev' into v14/dev
# Conflicts:
#	src/Umbraco.Cms.Api.Delivery/Services/ApiContentQueryService.cs
#	src/Umbraco.Core/CompatibilitySuppressions.xml
#	src/Umbraco.Core/DeliveryApi/IApiContentQueryProvider.cs
#	src/Umbraco.Core/DeliveryApi/IApiContentQueryService.cs
#	src/Umbraco.Core/DeliveryApi/NoopApiContentQueryService.cs
2023-05-25 14:51:28 +02:00
fcf477191f Delivery API: Adding support for "Contains" filters (#14289)
* Adding support for contains filters

* Making a dedicated name filter and making changes to the sort indexer

* Fixed the merge from release/12.0

* Make the "name" filter support OR for comma separated filter values

---------

Co-authored-by: kjac <kja@umbraco.dk>
2023-05-25 13:43:45 +02:00
Bjarke Berg 32b3b3b4a0 Updated version number 2023-05-25 13:35:11 +02:00
Nikolaj 9ed54eb158 Fix version 2023-05-25 13:03:13 +02:00
Nikolaj c6d94b3fd4 Merge remote-tracking branch 'origin/release/11.4' into v11/dev 2023-05-25 12:59:24 +02:00
Bjarke Berg e04bb9d18d Fix tests by updating OpenApi.json 2023-05-25 12:34:26 +02:00
dependabot[bot]andJacob Overgaard fccbed125c Bump engine.io and socket.io in /src/Umbraco.Web.UI.Client
Bumps [engine.io](https://github.com/socketio/engine.io) and [socket.io](https://github.com/socketio/socket.io). These dependencies needed to be updated together.

Updates `engine.io` from 6.2.1 to 6.4.2
- [Release notes](https://github.com/socketio/engine.io/releases)
- [Changelog](https://github.com/socketio/engine.io/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/engine.io/compare/6.2.1...6.4.2)

Updates `socket.io` from 4.5.3 to 4.6.1
- [Release notes](https://github.com/socketio/socket.io/releases)
- [Changelog](https://github.com/socketio/socket.io/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/socket.io/compare/4.5.3...4.6.1)

---
updated-dependencies:
- dependency-name: engine.io
  dependency-type: indirect
- dependency-name: socket.io
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-25 11:33:19 +02:00
Bjarke Berg efb9452678 Merge remote-tracking branch 'origin/release/12.0' into v12/dev
# Conflicts:
#	src/Umbraco.Cms.Api.Delivery/Services/ApiContentQueryProvider.cs
#	src/Umbraco.Cms.Api.Delivery/Services/ApiContentQueryService.cs
#	src/Umbraco.Core/DeliveryApi/IApiContentQueryProvider.cs
2023-05-25 11:29:10 +02:00
dependabot[bot]andJacob Overgaard 715dfa7ee0 Bump qs from 6.10.1 to 6.11.0 in /src/Umbraco.Web.UI.Docs
Bumps [qs](https://github.com/ljharb/qs) from 6.10.1 to 6.11.0.
- [Release notes](https://github.com/ljharb/qs/releases)
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ljharb/qs/compare/v6.10.1...v6.11.0)

---
updated-dependencies:
- dependency-name: qs
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-25 11:28:48 +02:00
Kenn JacobsenandGitHub 53e0227c98 Fix the namespace for PagedModel (#14296)
* Fix the namespace for PagedModel

* Add compat suppressions
2023-05-25 11:27:37 +02:00
dependabot[bot]andJacob Overgaard 010a1b53f6 Bump decode-uri-component in /src/Umbraco.Web.UI.Docs
Bumps [decode-uri-component](https://github.com/SamVerschueren/decode-uri-component) from 0.2.0 to 0.2.2.
- [Release notes](https://github.com/SamVerschueren/decode-uri-component/releases)
- [Commits](https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.2)

---
updated-dependencies:
- dependency-name: decode-uri-component
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-25 11:27:16 +02:00
dependabot[bot]andJacob Overgaard 426ade5c70 Bump minimist from 0.2.1 to 0.2.4 in /src/Umbraco.Web.UI.Docs
Bumps [minimist](https://github.com/minimistjs/minimist) from 0.2.1 to 0.2.4.
- [Release notes](https://github.com/minimistjs/minimist/releases)
- [Changelog](https://github.com/minimistjs/minimist/blob/main/CHANGELOG.md)
- [Commits](https://github.com/minimistjs/minimist/compare/v0.2.1...v0.2.4)

---
updated-dependencies:
- dependency-name: minimist
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-25 11:26:55 +02:00
dependabot[bot]andJacob Overgaard 7a530f9c07 Bump socket.io-parser from 4.2.1 to 4.2.3 in /src/Umbraco.Web.UI.Client
Bumps [socket.io-parser](https://github.com/socketio/socket.io-parser) from 4.2.1 to 4.2.3.
- [Release notes](https://github.com/socketio/socket.io-parser/releases)
- [Changelog](https://github.com/socketio/socket.io-parser/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/socket.io-parser/compare/4.2.1...4.2.3)

---
updated-dependencies:
- dependency-name: socket.io-parser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-25 11:24:33 +02:00
Jacob Overgaard b245f319d9 update backoffice submodule 2023-05-25 11:20:16 +02:00
Jacob OvergaardandBjarke Berg 7f798bcc91 v12: add support for Node.js 18 (#14259)
* add .nvmrc to instruct NVM of preferred version

* update azure-pipelines.yml with node 18.16

* update "engines" section of package.json with preferred node.js 18.16

* update lockfiles in accordance with node 18 (lockfileVersion: 3)
2023-05-25 11:19:03 +02:00
Jacob OvergaardandGitHub 6791a99872 v12: add support for Node.js 18 (#14259)
* add .nvmrc to instruct NVM of preferred version

* update azure-pipelines.yml with node 18.16

* update "engines" section of package.json with preferred node.js 18.16

* update lockfiles in accordance with node 18 (lockfileVersion: 3)
2023-05-25 11:18:29 +02:00
Bjarke Berg 803e1be7dd Add PKCE to swagger.. Missing after refactor 2023-05-25 11:04:02 +02:00
Bjarke Berg b5ed4ea43a Rename the security definition as this is only for users.. 2023-05-25 11:03:56 +02:00
Bjarke BergandGitHub 28712bd5cd Make new backoffice packable (#14286)
* This moves around files and deletes the temp projects with files that are not moved to Core, Infrastructure etc.

Also moves the from new backoffice to static access, and override those with the old views in the legacy executeable

* Removes old files from the new executeable.

* Added missing files

* Added EF Core project to solution file

* fix build
2023-05-25 10:38:44 +02:00
Nikolaj e52e98741e Fix integration tests 2023-05-25 08:54:38 +02:00
6bcec26db3 V10: Implement varying blocklist indexing (#14287)
* Implement available culture in Interface and base classes

* Add available cultures

* DI localizationService and use it

* Make the new method have default implementation to avoid breaking change

* Create implementations for old method

* Pass available cultures

* Pass localization service

* Create new method that takes available cultures

* Add ILocalizationService to DI

* implement missing method

* Add database for schema test

* Fixed issue with indexes not added correctly to nested types..

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-05-25 08:40:10 +02:00
Kenn JacobsenandGitHub 5ae984aca6 Empty filter and sort values should not be considered when executing queries (#14295) 2023-05-24 13:22:27 +02:00
714cf374f0 Management API: Property editor temporary file handling (#14244)
* Use new temporary files handling for property editors

* Add compat suppressions

* Add missing compat suppressions

* Don't discard valid file upload values

* Rename cuid and puid to contentKey and propertyTypeKey

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

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Fetch user async + remove unnecessary dependency

---------

Co-authored-by: nikolajlauridsen <nikolajlauridsen@protonmail.ch>
2023-05-24 12:31:19 +02:00
Kenn Jacobsenandnikolajlauridsen 6a725f870a Ensure that blocks always open automatically when added to block list or block grid (#14294) 2023-05-24 10:23:05 +02:00
Kenn JacobsenandGitHub 315f08c55d Ensure that blocks always open automatically when added to block list or block grid (#14294) 2023-05-24 10:22:31 +02:00
Andy ButlandandGitHub e0d9084d04 Updated the installer text about Codegarden (#14276)
* Updated the installer text about Codegarden

* Further update to Codegarden installer message

* Removed whitespace
2023-05-24 09:59:31 +02:00
nikolajlauridsen 3fa49c7a55 Bump version to non-rc 2023-05-24 08:09:25 +02:00
3cadd35d40 Start-item support in RTE markup (#14283)
* Append start item to RTE markup

* Split the Examine specifics from API query service (#14257)

* Split the Examine specifics from API query service to a provider based model

* Review changes: Use paged model as provider return value + add logging

* Fix version

* Revert incidentally changed version number by targeting wrong branch

* Fix wrongly changed version number --- it's RC2 now

---------

Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
2023-05-24 08:02:42 +02:00
Matt BrailsfordandGitHub afddb3d781 Enforce passing tree alias to tree api requests (#12678)
* Enforce passing tree alias to tree api proxy

* Update ApplicationTreeController.cs
2023-05-23 16:30:21 +01:00
Sebastiaan Janssen df8f13d6b8 Merge branch 'v12/dev' into contrib 2023-05-23 13:22:04 +02:00
Jacob Overgaard fc0e2cbf00 update backoffice submodule 2023-05-23 13:08:56 +02:00
Bjarke Berg b4e7d55e4d Align versions 2023-05-23 12:29:56 +02:00
Bjarke Berg 8f5f7f72fa Merge remote-tracking branch 'origin/v12/dev' into v13/dev
# Conflicts:
#	version.json
2023-05-23 12:23:27 +02:00
Bjarke Berg c878567633 Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2023-05-23 12:17:40 +02:00
Bjarke Berg 86f867479b Merge branch 'release/12.0' into v12/dev
# Conflicts:
#	version.json
2023-05-23 12:16:32 +02:00
Bjarke Berg 7e1620cbc3 Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2023-05-23 12:15:39 +02:00
Nikolaj 7776cded73 Bump version to next RC 2023-05-22 15:19:13 +02:00
Nikolaj 54af079d97 Fix version 2023-05-22 15:18:14 +02:00
Nikolaj dee01e950c Merge branch 'release/12.0' into v12/dev 2023-05-22 15:17:25 +02:00
Jacob Overgaard 38aacfc30a update backoffice submodule 2023-05-22 13:27:56 +02:00
459d664531 V12: Map |DataDirectory| to path in connectionString (#14278)
* Add Data directory as constants

* Use new constants instead of internal ones

* Replace data directory in connection string if its there

* Update src/Umbraco.Cms.Persistence.EFCore/Extensions/UmbracoEFCoreServiceCollectionExtensions.cs

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
2023-05-22 12:44:52 +02:00
MoleandGitHub 1e6c220610 Downgrade OpenIdDict (#14279) 2023-05-22 12:29:16 +02:00
Kenn JacobsenandGitHub 8bbca79e55 Split the Examine specifics from API query service (#14257)
* Split the Examine specifics from API query service to a provider based model

* Review changes: Use paged model as provider return value + add logging
2023-05-22 11:06:22 +02:00
Dhanesh Kumar MjandSebastiaan Janssen 7d3c22b28a [Fix] Block editor labels showing Angular JS on first load. (#14143)
Co-authored-by: Dhanesh Kumar <“dhanesh.kumar@phases.io”>
(cherry picked from commit 58695b6e9f)
2023-05-19 11:27:01 +02:00
58695b6e9f [Fix] Block editor labels showing Angular JS on first load. (#14143)
Co-authored-by: Dhanesh Kumar <“dhanesh.kumar@phases.io”>
2023-05-19 11:21:40 +02:00
Sebastiaan Janssen bd7de1c89b Merge branch 'v12/dev' into contrib 2023-05-19 10:47:27 +02:00
Mykyta ZakharovandGitHub 4b62cb59b7 Issue-12704: added new necessary indexes. 2023-05-18 12:28:00 +01:00
Nikolaj 867a8a4066 Bump version to next RC 2023-05-17 13:25:08 +02:00
Jacob Overgaard c5f1af8adc update backoffice submodule 2023-05-17 11:11:37 +02:00
Bjarke BergandGitHub a4202f352a Ignore macros completely in deliveryapi (#14262)
* Hack a fix for MNTP that saves content in configuration instead of document

* Ignore macro parsing in delivery api, instead of exploding
2023-05-17 11:03:27 +02:00
Marc GoodsonandGitHub 9640616b56 Update ContentValueSetValidator to allow include/exclude of fields (#14177) 2023-05-17 10:19:18 +02:00
Vitor RodriguesandEmma L Garland 6fcdb1a6e4 Fix build required before initial publish for packages 2023-05-16 21:33:20 +01:00
Kenn JacobsenandGitHub c5e524c9b9 Wrap RTE content in a dedicated model for future expansion (#14258) 2023-05-16 19:08:38 +02:00
Bjarne FyrstenborgandGitHub 53e3c99af6 Fix transparent background after upgrade of spectrum color picker (#14251) 2023-05-16 15:32:32 +01:00
c632908a51 Re-added the postmigration from the migration context (#14255)
* Re-added the postmigration from the migration context

* Minor cleanup

* Add executed migration contexts to the result object

---------

Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
2023-05-16 14:28:30 +02:00
Warren BuckleyandJason Elkin 8c42f19d0d Fix the args used in log endMessages in the profillingLogger 2023-05-16 12:07:05 +01:00
0548266d0f Check folder exist before trying to delete (#14249)
Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-05-15 16:09:36 +02:00
Lucas Bach BisgaardandGitHub 9f028e0bd5 Add posibillty to use composition on memberstype (#14060) 2023-05-15 15:51:14 +02:00
Bjarke BergandGitHub 27e5b55e05 Added OpenIddict dependencies for future usage (#14247) 2023-05-15 13:24:19 +02:00
Nikolaj e50a3d1340 Trust Test DB certificate 2023-05-15 12:43:13 +02:00
Nikolaj 79ae829ac7 Set version to rc1 2023-05-15 10:55:43 +02:00
Sebastiaan Janssen f7bdba6279 Merge branch 'v12/dev' into contrib 2023-05-15 10:48:51 +02:00
e572dcfa2d Delivery API: Handle more unhappy paths when querying (#14245)
* Handle more unhappy paths

* Review comments

---------

Co-authored-by: kjac <kja@umbraco.dk>
2023-05-15 10:46:29 +02:00
Kenn JacobsenandGitHub b32b8c2265 Un-routable content should never be accessible in the delivery API (#14242) 2023-05-15 10:27:20 +02:00
Kenn JacobsenandGitHub 85d46c3e82 Merge local and global crops for MediaPicker3 (#14237) 2023-05-15 10:06:24 +02:00
Andreas ZerbstandGitHub ac0f76f162 Changed so we are checking if the FolderExits (#14196) 2023-05-15 09:05:22 +02:00
Bjarke Berg f2def5307c Fix build 2023-05-15 09:02:53 +02:00
Bjarke Berg 979e023d73 Merge remote-tracking branch 'origin/v12/dev' into v13/dev
# Conflicts:
#	src/Umbraco.Infrastructure/CompatibilitySuppressions.xml
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/BlockGridEditor/Content/blockGridEditorAdvanced.spec.ts
2023-05-15 08:51:50 +02:00
Kenn JacobsenandGitHub 368e9f2f59 Fix delivery API cache level for media picker property editors (#14238) 2023-05-15 08:49:01 +02:00
5377c17b5d XPath can unambiguously use $site/$parent (#14127)
* XPath can unambiguously use $site/$parent

* add deprecation notices and obsolete methods

* Update deprecation description text/instruction

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Small spelling fix on deprecation description

* keep depr. getByQuery and handle legacy usage

---------

Co-authored-by: Kalle Macklin <karlmacklin@users.noreply.github.co>
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
2023-05-15 08:42:58 +02:00
Andreas ZerbstandGitHub 401fa7334b Fixed: an block grid editor accceptance test on the pipeline for v12 (#14240)
* The attribute we asserted on has been changed which failed our test. The test is updated to match with the correct url

* Updated so we use encodeURI instead of replacing the values in the path
2023-05-15 08:04:16 +02:00
Bjarke Berg 5df655d599 Unbreak breaking change 2023-05-15 07:58:43 +02:00
Bjarke Berg d48a8d7c75 Merge remote-tracking branch 'origin/v11/dev' into v12/dev
# Conflicts:
#	src/Umbraco.Cms.ManagementApi/ViewModels/Installer/InstallViewModel.cs
2023-05-15 07:57:45 +02:00
Bjarke Berg a29d63475c Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2023-05-15 07:55:39 +02:00
Bjarke Berg ebbd3f0e51 Compatibility files 2023-05-12 12:33:03 +02:00
Bjarke Berg 2922c1fc92 Merge remote-tracking branch 'origin/v12/dev' into v13/dev
# Conflicts:
#	src/Umbraco.Cms.Api.Common/DependencyInjection/UmbracoBuilderApiExtensions.cs
#	src/Umbraco.Cms.Api.Delivery/Controllers/DeliveryApiControllerBase.cs
#	src/Umbraco.Core/CompatibilitySuppressions.xml
#	src/Umbraco.Web.Common/Configuration/ConfigureApiVersioningOptions.cs
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Tabs/tabs.spec.ts
2023-05-12 11:42:15 +02:00
Elitsa MarinovskaandGitHub 1a8dc32b02 Adding Unauthorized to ProducesResponseType for single-item endpoints (#14239) 2023-05-12 09:26:26 +02:00
487e85cacd Entity Framework Core Support (#14109)
* Add UmbracoEFCore project

* Add EFCore composer

* Add Locking Mechanisms

* Add scope interfaces

* Add excecute scalar extension method

* fix up query in locking mechanism

* Add scoping

* Add scoping

* Add test DbContext classes

* add locking test of EFCore

* Creat ScopedFileSystemsTests

* Add EFCoreScopeInfrastructureScopeLockTests

* Add EFCoreScopeInfrastructureScopeTests

* Add EFCoreScopeNotificationsTest.cs

* Add EFCoreScopeTest.cs

* Remake AddUmbracoEFCoreContext to use connection string

* Remove unused code from extension method

* Reference EFCore reference to Cms.csproj

* Remove unused parameter

* Dont have default implementation, breaking change instead

* Add compatability suppression file

* Updated EFCore packages

* Use timespan for timeout

* Allow overriding default EF Core actions

* Option lifetime needs to be singleton

* Use given timeout in database call

* dont use timespan.zero, use null instead

* Use variable timeout

* Update test to use locking mechanism

* Remove unneccesary duplicate code

* Change to catch proper exception number

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-05-12 09:25:19 +02:00
Kenn JacobsenandGitHub eb08a48c3a Fix "save and close"/"publish and close" for infinite editing of language variant content (#12577) 2023-05-12 00:11:51 +01:00
Niels LyngsøandGitHub 7d512bea39 enable hovering your way to a parent actions + remove unused part (#13692) 2023-05-11 16:25:35 +01:00
36fe2f7e49 V12: Remove test.only for acceptance tests (#14232)
* Remove test.only

* Try quick fix for test

* Fixed failing test so it now locates the correct class. Updated the locators aswell

---------

Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
2023-05-11 15:02:52 +02:00
Kenn JacobsenandGitHub 06bd728c18 Only index content for the Delivery API when it is enabled (#14235) 2023-05-11 14:42:57 +02:00
Nikolaj GeisleandGitHub 8d4e55f8bb Enable ForceCreateDatabase for SqlServer (#14234) 2023-05-11 14:39:21 +02:00
Nikolaj GeisleandGitHub e4c03e0d4e V11: Obsolete action to publish (#14208)
* Add obsolete message to ActionToPublish

* Obsolete handler for ContentSentTOPublishNotifcation
2023-05-11 13:58:57 +02:00
36d72ac85c Fallback to detailed if not telemetry level not set (#14134)
Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-05-11 13:50:47 +02:00
02669e930c V12: Update dependencies to latest (#14204)
* Update dependencies to latest

* revert npoco back to 5.5.0

* Updated Npoco and Serilog

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-05-11 13:32:14 +02:00
Kenn JacobsenandGitHub b7cf00ac5d Handle applied public access restrictions in the Delivery API content index (#14233)
* Automatically remove content from the delivery API content index when public access restrictions are applied

* Review changes
2023-05-11 11:19:34 +02:00
Ronald BarendseandGitHub b0d19bf9d2 v12: Rename V2 to Umbraco.Cms.Imaging.ImageSharp2 (#14223)
* Rename Umbraco.Cms.Imaging.ImageSharp.V2 to Umbraco.Cms.Imaging.ImageSharp2

* Rename Umbraco.Cms.Imaging.ImageSharp to Umbraco.Cms.Imaging.ImageSharp3

* Rename Umbraco.Cms.Imaging.ImageSharp3 back to Umbraco.Cms.Imaging.ImageSharp
2023-05-11 11:01:59 +02:00
Ronald BarendseandGitHub 27ae8bdba9 v12: Add HMAC image processing protection (#14181)
* Update to ImageSharp 2.1.0 and ImageSharp.Web 2.0.0-alpha.0.23

* Rename CachedNameLength to CacheHashLength and add CacheFolderDepth setting

* Replace PhysicalFileSystemProvider with WebRootImageProvider

* Support EXIF-orientation in image dimention extractor

* Remove virtual methods on FileProviderImageProvider

* Simplify FileInfoImageResolver

* Update to SixLabors.ImageSharp.Web 2.0.0-alpha.0.25 and remove custom providers

* Make CropWebProcessor EXIF orientation-aware

* Improve width/height sanitization

* Also use 'v' as cache buster value

* Add WebP to supported image file types

* Update to SixLabors.ImageSharp.Web 2.0.0-alpha.0.27 and fix test

* Fix rounding error and add test cases

* Update to newest and stable releases

* Move ImageSharpImageUrlGenerator to Umbraco.Web.Common

* Use IConfigureOptions to configure ImageSharp options

* Implement IEquatable on ImageUrlGenerationOptions classes

* Fix empty/null values in image URL generation and corresponding tests

* Use IsSupportedImageFormat extension method

* Remove unneeded reflection

* Add HMACSecretKey setting and add token when generating image URLs

* Ensure backoffice image URLs are generated by the server (and include a correct HMAC token)

* Abstract HMAC generation to IImageUrlTokenGenerator

* Change cache buster value to 'v' and use hexadecimal timestamp

* Update comments

* Fix backoffice thumbnail URL generation

* Update grid media thumbnail URL generation

* Remove breaking changes

* Strip unknown commands from image URL token

* Remove HMAC whitelisting possibility (not supported by ImageSharp)

* Update to SixLabors.ImageSharp 2.1.3

* Add comment to internal constructor

* Fix to support absolute image URLs

* Update to SixLabors.ImageSharp.Web 2.0.3-alpha.0.3

* Remove IImageUrlTokenGenerator and use ImageSharpRequestAuthorizationUtilities

* Move NuGet feed to config file

* Update to ImageSharp v3
2023-05-11 11:01:03 +02:00
Jacob Overgaard efe03d328a update backoffice submodule 2023-05-11 10:00:10 +02:00
martinaronnysdotterandGitHub 921ee4bc62 Sv translation (#14229)
* Adding swedish translations

* Adding swedish translations
2023-05-11 08:52:46 +01:00
Kenn JacobsenandGitHub f4ee0d027a Move all routing tokens (incl. API versioning) to Web.Common (#14231)
* Move all routing tokens (incl. API versioning) to Cms.Web.Common, so the site can start without adding the delivery API in Startup

* Fixed merge

* Fix backwards compat
2023-05-11 08:18:43 +02:00
f804c8c209 Handle culture variance and add more options for indexing fields (#14185)
* Handle culture variance and add more options for indexing fields

* Workaround for missing DB on install

* Add a document per language to the delivery API content index

* Filters and Selectors must be able to match multiple values (as OR)

* A few review changes

* Change TODO for a note

* Workaround for lazily resolved field value types in Examine

* Make removal tracking more granular to cover both single and all culture deletion

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
2023-05-10 15:48:00 +02:00
Nikolaj GeisleandGitHub eb0c7e617e Unbreak IMigrationPlanExecutor.cs (#14225) 2023-05-10 15:23:00 +02:00
Nikolaj GeisleandGitHub b0b591821b V11: prevent currentuser resetting password without old password (#14189)
* Implement check for current user if no old password

* Add default implementation to avoid breaking change9
2023-05-10 14:55:06 +02:00
Kenn JacobsenandGitHub 2f7cb83462 IAppCache implementations should not cache null values (#14218)
* IAppCache implementations should not cache null values

* Add comment
2023-05-10 14:23:02 +02:00
b0f42a2c86 Move the built-in properties back to the delivery API media model + support property expansion for other media properties (#14224)
Co-authored-by: Elitsa <elm@umbraco.dk>
2023-05-10 14:04:42 +02:00
9187d92a2c Copied back swagger for delivery api from v13 implementation (#14222)
Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
2023-05-10 13:29:45 +02:00
Sebastiaan Janssen db50b11a67 Merge branch 'v12/dev' into contrib 2023-05-10 13:13:45 +02:00
e3e6582715 Always use text elements in RTE JSON output (#14220)
* Always wrap text in #text elements for RTE JSON output

* Small cleanup

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
2023-05-10 08:47:23 +02:00
7ed59f05cb Delivery API: Not Found response when the start-item in "Start-Item" header is invalid (#14217)
* Update comment

* Implement ValidateStartItemAttribute

* Implement StartItemHeaderHasValue() on IRequestStartItemProvider

* Fix case-sensitivity problem on url segment

* Change StartItemHeaderHasValue() to RequestedStartItem()

* Fix variant start-item header bug

* Rearranging attributes

* Revert to not explicitly get the culture from IRequestCultureService

---------

Co-authored-by: kjac <kja@umbraco.dk>
2023-05-10 08:05:57 +02:00
6f3cf6ead5 Migration needs to check for completed transitions before accessing (#14174)
* check for completed transitions before accessing target state

* upgrader should be happy with initial and final state being the same value - only an empty final state should throw

* refactor

* reduce complexity

* Don't check for successfull

* Add test that runs migration twice

---------

Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2023-05-09 12:26:41 +02:00
MoleandGitHub f615e7bcfc Only consider alias duplicate if the key matches (#14169) 2023-05-09 10:46:31 +02:00
MoleandGitHub 5e9ce916cf V12: Update ImageSharp V3 and Add Legacy V2 Project (#14216)
* Rename old imagesharp to v2

* Add Ronalds PR as imagesharp

* Ensure that we use V3 by default
2023-05-09 10:09:54 +02:00
Bjarke Berg 0391c1d0c7 Merge remote-tracking branch 'origin/v13/dev' into v13/dev
# Conflicts:
#	src/Umbraco.Cms.Api.Common/Configuration/ConfigureApiExplorerOptions.cs
2023-05-09 09:21:36 +02:00
Bjarke Berg 5dd945f372 Reintroduced management api after v12 merge 2023-05-09 09:21:16 +02:00
NuklonandGitHub dfde6798d9 Fixes #14102 - NestedPropertyIndexValueFactoryBase ignores compositions (#14115) 2023-05-09 09:04:01 +02:00
Bjarke BergandGitHub 417e92dad0 Updated API version package and moved attribute to each controller (#14209)
* Updated API version package and moved attribute to each controller as it cannot be inherited.

* Ignore "$type" on types implementing interfaces in the delivery api
2023-05-09 08:38:07 +02:00
Bjarke Berg 6ce895e9ac Cherry picked removal of management api and rolled back. 2023-05-08 17:44:44 +02:00
Bjarke Berg 839999e76f Ensure no management api for v12 (#14197)
* Remove management api

* Remove actual files

And rolled both back again
2023-05-08 17:42:43 +02:00
Bjarke Berg 7ca6cb97d3 Merge remote-tracking branch 'origin/v12/dev' into v12/dev 2023-05-08 16:59:57 +02:00
Bjarke Berg aee358330d Merge remote-tracking branch 'origin/v11/dev' into v12/dev
# Conflicts:
#	src/Umbraco.Cms.ManagementApi/Controllers/ModelsBuilder/BuildModelsBuilderController.cs
#	src/Umbraco.Cms.ManagementApi/DependencyInjection/MappingBuilderExtensions.cs
#	src/Umbraco.Infrastructure/Migrations/Upgrade/UmbracoPlan.cs
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Tabs/tabs.spec.ts
2023-05-08 16:57:26 +02:00
Jacob Overgaard 25df33b9c1 update backoffice submodule 2023-05-08 15:58:00 +02:00
43e0dfc7c7 Delivery API: Make classes sealed (#14214)
* Make implementations sealed and internal if possible

* Remove usings

* Making some models sealed as well

* Making more models sealed

* Last model changes

* Un-seal ApiContentResponse

---------

Co-authored-by: kjac <kja@umbraco.dk>
2023-05-08 13:20:02 +02:00
Bjarke Berg fb11fc6bc4 Merge remote-tracking branch 'origin/v10/dev' into v11/dev
# Conflicts:
#	src/Umbraco.Web.UI.Client/package-lock.json
#	src/Umbraco.Web.UI.Client/package.json
2023-05-08 10:36:26 +02:00
Jacob Overgaard 6bab6e8a0d update backoffice submodule 2023-05-08 09:42:44 +02:00
8f8eeefd90 Delivery API: Fix default sorting when querying (#14207)
* Fix default sort for the query endpoint

* Revert changes in PathSortIndexer

* If no sort query option is provided, keep the index sorting as default

* Delete path sort and path sort indexer

---------

Co-authored-by: kjac <kja@umbraco.dk>
2023-05-08 09:34:43 +02:00
Elitsa MarinovskaandGitHub 83230d377c Handle unhappy paths for the multiple items endpoint (#14199) 2023-05-08 06:52:02 +02:00
Bjarke BergandGitHub 0f1c2f7022 Ensure no management api for v12 (#14197)
* Remove management api

* Remove actual files
2023-05-04 13:32:41 +02:00
MoleandGitHub a5744c50ae Merge pull request #14206 from umbraco/v13/bugfix/rename_usergroup_controller
New Backoffice: Rename UserGroup Controllers
2023-05-04 11:22:47 +02:00
Nikolaj 0a64ac5485 Update OpenApi 2023-05-04 10:42:00 +02:00
Nikolaj f71a4fa968 Rename SaveUserGroupRequestModel to CreateUserGroupRequestModel 2023-05-04 10:09:39 +02:00
Nikolaj abdfcf4e14 Rename UserGroupPresentationModel to UserGroupResponseModel 2023-05-04 10:02:07 +02:00
Nikolaj b39525b881 Merge branch 'release/11.4' into v11/dev
# Conflicts:
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Tabs/tabs.spec.ts
2023-05-04 09:23:05 +02:00
Nikolaj 842f1f886f Use regex for class 2023-05-03 13:15:17 +02:00
Nikolaj a744cd465a Try quick fix for test 2023-05-03 13:13:39 +02:00
Nikolaj cc7798b343 Remove test.only 2023-05-03 12:13:34 +02:00
Nikolaj e7f07a881b Revert "Case-insensitive tag names with SQLite provider (#14012)"
This reverts commit bb7752c483.
2023-05-03 11:39:24 +02:00
Jacob Overgaard 3c5de5a321 Backoffice JS dependency updates (#14179)
* updates @babel/* to 7.21.4

* update @microsoft/signalr to 7.0.5

* update @umbraco-ui/uui to 1.2.1

* update ace editor to 1.18.0

* update all build dependencies to latest version

* update jquery to 3.6.4

* update spectrum-colorpicker2 to 2.0.10

* Add icon for "styles" alias (style select)

* update tinymce to 6.4.2

Read more here: https://www.tiny.cloud/docs/tinymce/6/6.4.1-release-notes/
2023-05-03 11:10:12 +02:00
Jacob Overgaard c2a550daf0 Fix: Form elements in thirdparty dashboard views get removed (#14152) 2023-05-03 11:09:29 +02:00
Jacob Overgaard c4d84e1c91 Fix: Form elements in thirdparty dashboard views get removed (#14152) 2023-05-03 11:09:11 +02:00
Jacob Overgaard 32b4627ee8 Fix: Form elements in thirdparty dashboard views get removed (#14152) 2023-05-03 11:08:54 +02:00
Jacob OvergaardandGitHub f3668e0aab Fix: Form elements in thirdparty dashboard views get removed (#14152) 2023-05-03 10:37:57 +02:00
Nikolaj bcf7d907ed Merge remote-tracking branch 'origin/v11/dev' into release/11.4 2023-05-03 10:03:47 +02:00
Sebastiaan Janssen b3d580de31 Merge branch 'v11/dev' into contrib 2023-05-03 09:56:43 +02:00
Ronald BarendseandNikolaj 47ae6e4ee8 Add DynamicRequestCultureProviderBase and improve locking (#14064) 2023-05-03 09:49:55 +02:00
Jacob OvergaardandZeegaan aeb0251727 Backoffice JS dependency updates (#14179)
* updates @babel/* to 7.21.4

* update @microsoft/signalr to 7.0.5

* update @umbraco-ui/uui to 1.2.1

* update ace editor to 1.18.0

* update all build dependencies to latest version

* update jquery to 3.6.4

* update spectrum-colorpicker2 to 2.0.10

* Add icon for "styles" alias (style select)

* update tinymce to 6.4.2

Read more here: https://www.tiny.cloud/docs/tinymce/6/6.4.1-release-notes/
2023-05-03 08:21:27 +02:00
Jacob OvergaardandGitHub 99049c2c07 Backoffice JS dependency updates (#14179)
* updates @babel/* to 7.21.4

* update @microsoft/signalr to 7.0.5

* update @umbraco-ui/uui to 1.2.1

* update ace editor to 1.18.0

* update all build dependencies to latest version

* update jquery to 3.6.4

* update spectrum-colorpicker2 to 2.0.10

* Add icon for "styles" alias (style select)

* update tinymce to 6.4.2

Read more here: https://www.tiny.cloud/docs/tinymce/6/6.4.1-release-notes/
2023-05-03 08:10:32 +02:00
Anders BrohusandGitHub 7df5c9c212 Fixing danish typos (#14184)
* Fixed typo

* Fixed another typo

* Removed space from translation
2023-05-02 10:13:47 +01:00
Jacob Overgaard d6aa10cc55 update backoffice submodule 2023-05-02 10:41:41 +02:00
Ronald BarendseandGitHub 3caa2a3ce2 Add DynamicRequestCultureProviderBase and improve locking (#14064) 2023-05-02 09:46:43 +02:00
367e110681 Move relation mapping (#14153)
Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-05-02 07:40:09 +02:00
a3160fe022 Move relation mapping (#14153)
Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-05-02 07:37:59 +02:00
2aa9ceab1a Add member system fields to ListView (#14069)
* Add member system fields to ListView

* Small fix

* Add sort options for new systemfield for members.

---------

Co-authored-by: Lucas Bach Bisgaard <lom@novicell.dk>
2023-04-28 16:37:22 +02:00
fc3f342906 Add sort handlers for create and update date (#14178)
* Add sort handlers for create and update date

* Make things sealed

* Update the field names

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
2023-04-28 11:14:50 +02:00
Jacob Overgaard cced44a72f update backoffice submodule 2023-04-28 10:23:22 +02:00
376c0bf7ba Update the delivery API content index at un/publish (#14175)
* Update the delivery API content index at un/publish

* Make the query service use "itemId" instead of "id" when extracting GUIDs + only fetch that single field rather than all fields

* Simplify the code a little

* Making AncestorsSelectorIndexer sealed

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
2023-04-28 09:46:28 +02:00
Elitsa MarinovskaandGitHub ca5c3c240a Delivery API: Apply start-item in the base querying request (#14168)
* Taking into account the start item when no "fetch" selector is present

* Fix spacing

* Get rid of extra DefaultSelect method

* Remove comment for default selector

* Apply default sorting directly in HandleSorting()

* Get rid of nesting conditional logic
2023-04-27 19:32:05 +02:00
d72eb23102 Handle unroutable published content (#14166)
Co-authored-by: Elitsa <elm@umbraco.dk>
2023-04-27 13:32:15 +02:00
d2a8068ca6 Filter out disallowed content types from the delivery API content index (#14156)
* Filter out disallowed content types from the delivery api content index

* Added .

* Allow children of disallowed content types in the index

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
2023-04-27 10:30:30 +02:00
a0d325cfe0 Make delivery API indexers and handlers public (sealed) so they can be overridden by custom ones (#14160)
* Make delivery API indexers and handlers public (sealed) so they can be overridden by custom ones

* Making the rest of the indexers public (sealed)

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
2023-04-26 15:13:26 +02:00
MoleandZeegaan d589115b67 Set culture variation when getting property types for indexing (#14167) 2023-04-26 15:01:35 +02:00
b411452f79 New backoffice: Add new codefile controllers and services (#14157)
* Add scaffolding

* Entities not Entitys

* Remove unececary obsoleted constructor

* Implement create script

* Return a simplified ScriptFile instead of IScript

That file abstraction seems way too bloated, containing a lot of stuff that's not relevant for files, such as IDs and keys.

* Use IScript instead of custom return model

* Add validation when creating script

* Add Get script endpoint

* Add response types

* Add Delete

* Throw if user key not found

* Remove unused maapper

* Add update endpoint

* Add Get by path

* Add create folder endpoint

* Don't pass performingUserId to folder creation

* Remove update folder

* Add delete folder endpoint

* Use specific ScriptFolderOperationStatus instead of ScriptOperationStatus

* Add OperationStatusResult

* Check folder for invalid name

* Check name for invalid characters

* Add partial view snippet endpoint

* Start working on CreatePartialView

* Add create partial view endpoint

* Retrieve key from audit method

* Add operation status results

* Add Get endpoint

* Return 201 when creating

* Add update partial view endpoint

* Add delete endpoint

* Add response types

* Add folder base implementation

* Add folder endpoints

* User property for allowed file extensions

* Rename async method to async

* Break snippet into endpoint in two

* Make content non-nullable

* Remove IService

* Add get by path

* Add viewmodels

* Add create and update models

* Add create stylesheet

* Add update endpoint

* Rename StylesheetControllerBase to StylesheetControllerBase

* Add stylesheet delete

* Rename controller bases

* Add stylesheet folders

* Add status results

* Add response types to folders

* Add richtext rules endpoints

* Add Get all endpoint

* Add get rules by path endpoint

* Aling validates so they're not async

These are private methods, so there's no reason to make them preemptively async

* Add template obsoletions to interface

* Add stream methods

This is evidently used by deploy 🤷

* Obsolete stylesheet operations

* Add get and getall across all services

* Obsolete script operations

* Obsolete old partial view methods

* Add some method docs

* Add compatibility suppression

* Update OpenApi.json

* Rename action

* formatting

* Fix import

* add expression body

* Invert if

* Move base on own line

* Rename file

* Rename to all

* Change to stylesheet instead of script

* Add Umbraco.Code.MapAll to map definitions

* Add comment about auditing

* use publish cancelable async

* use expression body

* formatting

* fix to use pattern matching

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-04-26 13:47:47 +02:00
Jacob Overgaard 17fef47450 backoffice submodule update 2023-04-26 08:07:06 +02:00
Jacob Overgaard 2ce9e338dc update backoffice submodule 2023-04-25 16:23:20 +02:00
Bjarke Berg bde0714b34 Merge remote-tracking branch 'origin/v12/dev' into v13/dev
# Conflicts:
#	src/Umbraco.Infrastructure/Migrations/Upgrade/UmbracoPlan.cs
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/BlockGridEditor/Document/BlockGridEditorInDocument.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/BlockListEditor/blockListEditorContent.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Languages/languages.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Media/mediaFiles.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Media/mediaSection.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/ModelsBuilder/modelsbuilder.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/partialViews.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Tour/tours.spec.ts
2023-04-25 15:46:10 +02:00
Bjarke Berg 4fcdcb4002 Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2023-04-25 15:43:22 +02:00
Bjarke Berg a45f158d9e Merge remote-tracking branch 'origin/v11/dev' into v11/dev 2023-04-25 15:42:21 +02:00
Kenn JacobsenandGitHub d98f635eed Fix DataValueEditor configuration handling + update naming to be more explicit (#14104) 2023-04-25 15:32:29 +02:00
Elitsa MarinovskaandNikolaj c33ec7ca55 Change state to publishing before handling ContentSavingNotification (#14114) 2023-04-25 15:10:13 +02:00
Michałandgeorgebid 0765a2ebbb Save and preview translation. 2023-04-25 14:05:25 +01:00
7e49493c8c V12: Reset cache on migrating (#14133)
* Reset cache when migrating

* Manually delete cache file

* Rewrite migration to delete files

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-04-25 14:50:17 +02:00
MoleandGitHub d96346313e Return created from invite (#14158) 2023-04-25 14:19:31 +02:00
Bjarke Berg c85a6274f8 Merge remote-tracking branch 'origin/v10/dev' into v11/dev
# Conflicts:
#	tests/Umbraco.Tests.AcceptanceTest/package-lock.json
#	tests/Umbraco.Tests.AcceptanceTest/package.json
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/BlockGridEditor/Document/BlockGridEditorInDocument.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Media/mediaFiles.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Media/mediaSection.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/ModelsBuilder/modelsbuilder.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/partialViews.spec.ts
2023-04-25 13:45:26 +02:00
MoleandGitHub dfa7eff7c2 New backoffice: Fix typo on user model (#14154)
* LastLockoutDate not LastlockoutDate

* Update open api
2023-04-25 10:58:38 +02:00
Kenn JacobsenandGitHub 57377a8f7a Make Block Grid and Block List use System.Text.Json instead of Json.NET (#14125)
* Make block grid and block list use System.Text.Json instead of Json.NET

* Add compat suppressions

* Move block editor models to Core
2023-04-25 10:48:48 +02:00
7e117d2496 Delivery API content index handlers + unpublished/protected content handling (#14138)
* Introduce content index handlers for the Delivery API

* Do not add protected content to the index

* Re-introduce public collection builder extensions

* Add backwards compatible constructor to ConfigureIndexOptions

* Fix edge case for published children of unpublished parents

* Reduce number of hardcoded field names

* Fixed copy/paste comment

* Fix field definition type for date

* Do not add trashed items to the content index

* Don't expose protected content through the item endpoints

* Removing ReSharper comment

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
2023-04-25 09:21:33 +02:00
Niels LyngsøandZeegaan 08bedd7c13 fix situation when config was not available. (#14148) 2023-04-25 09:14:37 +02:00
MoleandGitHub 2e23c81677 New backoffice: Updated missed controller paths (#14130)
* Updated missed controller paths

* Update openapi
2023-04-24 15:22:42 +02:00
f3df3e600f Only add non default version to operation id (#14146)
* Only add version to operationId when the version is not the default version

* Updated OpenApi.json

* A little code formatting

* Update OpenAPI JSON so the tests pass

---------

Co-authored-by: kjac <kja@umbraco.dk>
2023-04-24 14:15:36 +02:00
Richard OckerbyandGitHub eb1523cc81 Alter the datatype of the UmbracoKeyValue value column (#14085) 2023-04-24 12:38:21 +02:00
Niels LyngsøandGitHub 3b104bf256 fix situation when config was not available. (#14148) 2023-04-24 12:24:36 +02:00
Kenn JacobsenandGitHub 6760f72512 Fix the "disposed object" error when rendering RTE content as JSON (#14147) 2023-04-24 12:04:05 +02:00
Mark DrakeandGitHub 1436fe4e15 Edge Cases for Issue #13838: Hotkey Actions Triggered from Web Components (#14098) 2023-04-21 14:12:18 +02:00
Kenn JacobsenandGitHub ced4f84dfe JSON output from RTE - review changes (#14139) 2023-04-21 11:42:49 +02:00
Dhanesh Kumar MjandGitHub 00eab03d50 Save and Preview blank on second use #14052 (#14094) 2023-04-21 11:27:08 +02:00
Jacob Overgaard db70750bba add picker-input importmap 2023-04-20 14:39:24 +02:00
38947e0870 Added functionality to split det swagger doc into multiple definitions (#14126)
* Added functionality to split det swagger doc into multiple definitions. Most (maybe too much) is still shared between the apis.

* Fixed issue with duplicate operation ids when we have multiple versions of an endpoint

* use strong types instead of var

* Updated OpenApi.json

* Formatting

* formatting

* Delete old files that is not implemented in api.common

* Updated openAPi after merge

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-04-20 12:38:31 +02:00
Michael RobertsonandGitHub 2987dcb30e Add IModelsGenerator Interface (#12210) 2023-04-20 11:12:53 +02:00
518bb60a45 New backoffice: Use singular name for user and user group controllers (#14121)
* Rename UsersController to UserController

* Rename namespace to User

* Rename UserGroupsControllerBase to UserGroupControllerBase

* Rename namespace to UserGroup

* New backoffice: User and member item endpoints (#14079)

* Implement ByKeys in MemberService

* Implement member item endpoint

* Add routing to static file item controller

* Implement user item endpoint

* Implement user group item endpoint

* return proper response model

* update OpenApi.json

* Add CompatibilitySuppressions

* Cleanup

* Update OpenApi

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Elitsa <elm@umbraco.dk>

* Make user-group item endpoint singular

* Make user item endpoint singular

* Renamer user and user group folders

* Move from Users namespace to user

* Move from UserGroups namespace to UserGroup

* Update OpenApi.json

* Fix namespace after merge

* Move user item endpoint to singular namespace

* Move user group item endpoint to singular namespace

* Fix open api schema

---------

Co-authored-by: Nikolaj Geisle <70372949+zeegaan@users.noreply.github.com>
Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Elitsa <elm@umbraco.dk>
2023-04-20 09:40:48 +02:00
Andreas ZerbstandGitHub b43d3ff98e Updated so it now shows the parentId instead of null (#14123) 2023-04-20 09:11:35 +02:00
7b62fb282f Dedicated cookie setup for new backoffice login (#14122)
* Add a dedicated (temporary) cookie setup for new backoffice logins, so old and new backoffice can co-exist behind separate logins

* use temp management api login endpoint for authentication

* Update OpenAPI JSON

---------

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
2023-04-19 13:32:11 +02:00
Bjarke Berg fff393c9ed Merge remote-tracking branch 'origin/v12/dev' into v13/dev
# Conflicts:
#	src/Umbraco.Cms.Api.Management/ManagementApiComposer.cs
#	src/Umbraco.Core/CompatibilitySuppressions.xml
#	src/Umbraco.Infrastructure/CompatibilitySuppressions.xml
2023-04-19 11:42:01 +02:00
c06e89af64 Content Delivery API (#14051)
* Add the core parts of the headless PoC

* Add Content API project (WIP - loads of TODOs and dupes that need to be fixed!)

* Rename the content API project and namespaces

* Fixed bad merge

* Rename everything "Headless" to "ContentApi" or "Api"

* Refactor Content + Media: Key => Id, Name not nullable

* Make Content API property return value types independent of datatype configuration

* Clean up refactorings

* First stab at an expansion strategy using content picker as example implementation

* Use named JSON options for content API serialization

* Proper inclusion and registration of the content API

* Introduce API media builder

* Make MNTP return API content/media depending on configuration (instead of links) and support output expansion

* Content API: Get by controllers (#13740)

* Adding ContentApiControllerBase

* Adding get by id and url controllers

* Change route of get all test controller

* Rename to ContentApiController

* Refactoring

* Removing test controller

* Content API: Add start-node header value to deal with url collisions (#13746)

* Use start-node header value to deal with url collisions

* Cleanup

* Rename "url" param to "path"

* Adding a start node service to get the start-node header value

* Trim '/' from both beginning and end

* Content API: Support Accept-Language header (#13831)

* Move the content API JSON type resolver to an appropriate namespace

* Add localization based on Accept-Language header

* Content API: Output expansion  (#13848)

* Implement request based output expansion strategy + expansion output cache at property level

* Slighty leaner implementation for default output expansion strategy

* Clarify the code a bit

* Fix bad merge

* Encapsulate content API dependencies in the DI

* Support multi-site and multi-culture routing + a little rename/refactor (#13882)

* Support multi-site and multi-culture routing + a little rename/refactor

* Make the by route controller handle root nodes

* Rename Url to Path in API content output

* Add a few comments for magic route creation

* Rename services from "Default" to "Noop"

* Ensure that Umbraco can boot without adding "AddContentApi()" to ConfigureServices

* Moved incorrectly placed media builder

* Fix API routes (#13915)

* Fix multi URL picker value converter trying to access disposed objects in edge cases

* Delivery API: Content routing and structure (#13984)

* Introduce content route instead of content path, rename and rework start item (previously start node) handling

* Strip out start node path in generated route path

* Make the start-item header take precedence over the request domain

* Conditionally enabling the delivery API + add protection and preview support + refactor all services to be singletons + ensure no-op implementations for all required services (#13992)

* Include umbraco properties (width, height, ...) in the Media Properties collection (#14023)

* Move umbraco properties (width, height, ...) to the Properties collection of the API Media model

* Don't output the umbracoFile property of media items

* Add content type deny list (#14025)

* Create a deny list of content types and utilize it for output generation

* Add unit tests

* Dedicated property cache level for Content API (#14027)

* Support redirect tracking (#14033)

* Create a deny list of content types and utilize it for output generation

* Add unit tests

* Handle redirect tracking in the content API

* Include start item routing info for redirects

* Add cultures and their routes to the API output (#14038)

* Create a deny list of content types and utilize it for output generation

* Add unit tests

* Handle redirect tracking in the content API

* Include start item routing info for redirects

* Add culture routes to root output (for HREFLANG support)

* Rename redirect service method to better match its purpose

* Review changes

* Delivery API: Query controller (#14041)

* Initial commit

* Custom ContentAPIFieldDefinitionCollection

* Make index IUmbracoContentIndex

* Add querying for children by parent id (key)

* Add missing interface

* Adding querying endpoint

* Test code

* Compose unpublishedValueSet, so that you get the correct data in the ContentAPI index

* Renaming

* Fix ancestorKeys index values

* Adding IApiQueryExtensionService to be able to query the ContentAPI index in a generic way

* Fix IApiQueryService and clean up QueryContentApiController using it

* Support querying for path

* Fix content API indexing

* Fix default sorting

* Implement concrete QueryOption implementations

* Introduce new ExecuteQuery that uses the Core OptionHandlers

* Implement ExecuteQuery

* Change ExecuteQuery signature and implementation

* Implement demo sorting and fetching

* Add query option handlers and collection builder for them

* Cleanup

* Revert "Conditionally enabling the delivery API + add protection and preview support + refactor all services to be singletons + ensure no-op implementations for all required services (#13992)"

This reverts commit 78e1f748e5.

* Revert "Delivery API: Content routing and structure (#13984)"

This reverts commit a0292ae535.

* Revert "Fix multi URL picker value converter trying to access disposed objects in edge cases"

This reverts commit 6b7c37a5bf.

* Revert "Conditionally enabling the delivery API + add protection and preview support + refactor all services to be singletons + ensure no-op implementations for all required services (#13992)"

This reverts commit 78e1f748e5.

* Revert "Delivery API: Content routing and structure (#13984)"

This reverts commit a0292ae535.

* Revert "Fix multi URL picker value converter trying to access disposed objects in edge cases"

This reverts commit 6b7c37a5bf.

* Fix multi URL picker value converter trying to access disposed objects in edge cases

* Delivery API: Content routing and structure (#13984)

* Introduce content route instead of content path, rename and rework start item (previously start node) handling

* Strip out start node path in generated route path

* Make the start-item header take precedence over the request domain

* Conditionally enabling the delivery API + add protection and preview support + refactor all services to be singletons + ensure no-op implementations for all required services (#13992)

* Test commit

* Refactored interfaces for the query handlers and for the selectors (that will handle the value of the fetch query option)

* Implemented a base class for the query options

* Refactored the names of the selectors and made use of the base class

* Refactored the ApiQueryService

* Refactored the QueryContentApiController.cs

* Conditionally enabling the delivery API + add protection and preview support + refactor all services to be singletons + ensure no-op implementations for all required services (#13992)

* Fixing merge gone wrong

* Fix multi URL picker value converter trying to access disposed objects in edge cases

* Delivery API: Content routing and structure (#13984)

* Introduce content route instead of content path, rename and rework start item (previously start node) handling

* Strip out start node path in generated route path

* Make the start-item header take precedence over the request domain

* Conditionally enabling the delivery API + add protection and preview support + refactor all services to be singletons + ensure no-op implementations for all required services (#13992)

* Make fetching work with the new setup

* Moving files to dedicated folders

* Removing ? for array

* Rename selector query method

* Implement FilterHandler and some filters

* Implement SortHandler and sort some sorts

* Refactoring

* Adding more fields to index due to querying

* Appending filtering and sorting queries

* Implementing a new ISelectorHandler without Examine types

* Re-implementing the collection to have a dedicated one for the selectors

* Implementing a new IFilterHandler without Examine types & refactoring the filters implementing it

* Adding a new collection dedicated to filters

* Renaming the old collection

* Implementing a new ISortHandler without Examine types & refactoring the sorts implementing it

* Adding a new collection for the sorts & adding all collections to UmbracoBuilder.Collections

* Refactoring the service to use the new collections and types

* Refactoring the fields in ContentApiFieldDefinitionCollection

* Remove nullability in Handlers

* Don't return null for selector

* Add TODO for having the filters support negation

* Changing the SortType to FieldType with our custom types on the SortOption

* Fix AncestorsSelector

* Fix ApiQueryService

* Documentation

* Fix Swagger docs

* Refactor the QueryContentApiController

* Adding handling for the IApiContentResponse in the JsonTypeResolver

* Refactor the service to use a safe fallback value in Examine queries

* Adding Noop for the IApiQueryService

* Cleanup

* Remove comment

* Fix name field for indexing

* Don't inherit QueryOptionBase in filters

* Fix casing for API index constant + swap FIXME with TODO

* Add TODO for handling missing fetch with start-item header

* Rename query handler parameters to not leak source (i.e. query string)

---------

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

* Delivery API: Adding pagination to query endpoint (#14083)

* Adding pagination to query endpoint

* Optimize the paging using Examine directly

* Fix comment

* Remove skip/take code duplication

---------

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

* Add missing CompatibilitySuppressions.xml

* Make Delivery API packable

* Make Api.Common packable

* Renamed extension method and namespace so it is discoverable

* Untangle ApiVersion configuration into api.common, so delivery api do not require the management api to boot.

* configure options in management api

* RTE output as JSON for Content API (#14067)

* Conditionally serve RTE output as JSON instead of HTML

* Fixed merge

* Rename to Delivery API (#14119)

* Rename ContentApi to DeliveryApi

* Rename delivery API index implementation

* Update comments from "Content API" to "Delivery API"

* Rename project from Content to Delivery

* Add dedicated controller base for content delivery API

* Rename delivery API content index to include "content" specifically

* Fix compat suppressions

---------

Co-authored-by: kjac <kja@umbraco.dk>
Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-04-19 11:21:31 +02:00
cb682e2f3e New backoffice: User and member item endpoints (#14079)
* Implement ByKeys in MemberService

* Implement member item endpoint

* Add routing to static file item controller

* Implement user item endpoint

* Implement user group item endpoint

* return proper response model

* update OpenApi.json

* Add CompatibilitySuppressions

* Cleanup

* Update OpenApi

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Elitsa <elm@umbraco.dk>
2023-04-19 09:43:01 +02:00
Søren KottalandGitHub c4cf5f910d Adds padding to the icon in btn-social (#14080) 2023-04-18 16:29:31 +02:00
Sebastiaan Janssen 11ac2ca971 Merge branch 'v11/dev' into contrib 2023-04-18 14:23:42 +02:00
MoleandGitHub cbb8f62457 Fix iso code validator (#14107) 2023-04-17 15:23:34 +02:00
Markus JohanssonandLaura Neto 80f6bb404a #14016 Fixed, added cache buster to Block Grid Editor stylesheets 2023-04-15 18:16:15 +02:00
Mark Drakeandgeorgebid 9a638b6edc resolve spacing issues with block list inline editor when it is the last property editor on the current tab 2023-04-14 14:48:36 +01:00
861b883d29 Throw from IUserIdKeyResolver if id/key not found. (#14101)
* Throw from IUserIdKeyResolver if id/key not found. This is too critical to not throw.

* Fixed tests

* Explicitly test that we can resolve super user key/ID from their counterparts

---------

Co-authored-by: kjac <kja@umbraco.dk>
2023-04-14 12:03:25 +02:00
Bjarke Berg d625fee1ad Merge remote-tracking branch 'origin/v12/dev' into v13/dev
# Conflicts:
#	src/Umbraco.Infrastructure/CompatibilitySuppressions.xml
#	src/Umbraco.Infrastructure/Migrations/MigrationPlanExecutor.cs
#	src/Umbraco.Infrastructure/Migrations/UnscopedMigrationBase.cs
#	tests/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/Migrations/MigrationPlanTests.cs
remove double request to get init status
2023-04-14 10:35:30 +02:00
Bjarke Berg 2af425fd90 Merge remote-tracking branch 'origin/v11/dev' into v12/dev
# Conflicts:
#	version.json
2023-04-14 10:12:51 +02:00
Bjarke Berg 4521c881db Merge remote-tracking branch 'origin/v10/dev' into v11/dev
# Conflicts:
#	version.json
2023-04-14 10:04:35 +02:00
c2af43d9d9 Copy and move API for content and media (#14040)
* Copy and Move API for Content and Media

* Update OpenAPI JSON schema

* Update OpenApi JSON file after merge

* Rename key to id

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-04-14 09:44:52 +02:00
Dhanesh KumarandMichael Latouche 2c580e8d4f fix for the char limit(512) for textboxdatatype 2023-04-13 23:06:23 +02:00
Erik-Jan WestendorpandGitHub f43bc50e7d Translate tree headers to Romanian (#14077)
* Translate treeHeaders

* Oops
2023-04-13 20:07:06 +02:00
Jacob Overgaard a188844a68 Merge remote-tracking branch 'origin/v13/dev' into v13/dev 2023-04-13 15:52:17 +02:00
Jacob Overgaard d01c95b3d5 simplify return url 2023-04-13 15:52:10 +02:00
Jacob Overgaard b8813aed3d set the path of the login page to /<backofficeurl>/login 2023-04-13 15:51:56 +02:00
Jacob Overgaard 5b94b3051f update temp login page to handle a POST to the authentication url and handle the returnUrl 2023-04-13 15:51:19 +02:00
f26e5d12a0 Management API: Data type or property is used endpoints (#14078)
* Added is-used endpoints

* Updated CompatibilitySuppressions.xml

* Minor cleanup

* Fix issue where only document types was supported. Now also media and member types is supported

* CompatibilitySuppressions.xml

---------

Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
2023-04-13 14:58:16 +02:00
eb31889be9 V12: Cherry pick unscoped migrations (#14086)
* New Backoffice: Refactor migrations to allow for unscoped migrations (#13654)

* Remove PostMigrations

These should be replaced with Notification usage

* Remove outer scope from Upgrader

* Remove unececary null check

* Add marker base class for migrations

* Enable scopeless migrations

* Remove unnecessary state check

The final state of the migration is no longer necessarily the final state of the plan.

* Extend ExecutedMigrationPlan

* Ensure that MigrationPlanExecutor.Execute always returns a result.

* Always save final state, regardless of errors

* Remove obsolete Execute

* Add Umbraco specific migration notification

* Publish notification after umbraco migration

* Throw the exception that failed a migration after publishing notification

* Handle notification publishing in DatabaseBuilder

* Fix tests

* Remember to complete scope

* Clean up MigrationPlanExecutor

* Run each package migration in a separate scope

* Add PartialMigrationsTests

* Add unhappy path test

* Fix bug shown by test

* Move PartialMigrationsTests into the correct folder

* Comment out refresh cache in data type migration

Need to add this back again as a notification handler or something.

* Start working on a notification test

* Allow migrations to request a cache rebuild

* Set RebuildCache from MigrateDataTypeConfigurations

* Clean MigrationPlanExecutor

* Add comment explaining the need to partial migration success

* Fix tests

* Allow overriding DefinePlan of UmbracoPlan

This is needed to test the DatabaseBuilder

* Fix notification test

* Don't throw exception to be immediately re-caught

* Assert that scopes notification are always published

* Ensure that scopes are created when requested

* Make test classes internal.

It doesn't really matter, but this way it doesn't show up in intellisense

* Add notification handler for clearing cookies

* Add CompatibilitySuppressions

* Rename Execute to ExecutePlan

We have to do this to be able to obsolete :(

* Update CompatibilitySuppressions

* Update src/Umbraco.Infrastructure/Migrations/MigrationPlanExecutor.cs

Co-authored-by: Bjarke Berg <mail@bergmania.dk>

Co-authored-by: Bjarke Berg <mail@bergmania.dk>

* generate compatability suppresion file

---------

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-04-13 12:23:44 +02:00
Jacob Overgaard 7be31a5305 update backoffice submodule 2023-04-13 11:23:10 +02:00
fe11f3c8e1 Bumped version to 12.0.0-rc (#14087)
* Bumped version to 12.0.0-alpha1

* Update version.json

---------

Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2023-04-13 11:01:28 +02:00
Nikolaj c636c7a7d2 Bump version 2023-04-13 08:52:50 +02:00
Nikolaj 810df46823 Merge branch 'release/11.3' into v11/dev 2023-04-13 08:49:32 +02:00
Jacob Overgaard a7c082e522 ignore umbraco-package-schema.json 2023-04-12 14:43:46 +02:00
MoleandGitHub f32dcb0823 V13: Ensure Predictable User-Group Keys (#14075)
* Add user group keys to constants

* Update migration to assign the right keys

* Update DataCreator

* Fix FIXME with removing ExcludedUserGroupAliases

* Obsolete group aliases
2023-04-12 11:22:50 +02:00
0f1e7f64ff New backoffice: Tag controller (#14072)
* Implement ByQueryEndpoint

* Implement new async methods on tag service

* dont have nullable query

* Formatting

* Add default implementation to interface

* Allow nullable query in api

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
2023-04-12 09:39:02 +02:00
Nikolaj a1d6f65cff Bump to non-rc 2023-04-12 09:36:49 +02:00
Jacob Overgaard 507102348d update backoffice submodule 2023-04-12 09:20:42 +02:00
Andreas ZerbstandGitHub bd0fd4237b Removed the acceptance tests from v13 (#14073)
* Removed the acceptance tests from v13

* commented out the pipeline for e2e tests because there are no test left
2023-04-11 15:34:59 +02:00
Mike MaseyandMichael Latouche cb544f15ee feat: add cite as valid element for tinymce default settings 2023-04-07 23:48:37 +02:00
Bjarke Berg b6c16afeea Fix OpenApi.json 2023-04-05 13:45:51 +02:00
Bjarke Berg b34b1906de Rename key to id 2023-04-05 13:43:54 +02:00
Jacob Overgaard ee1cac68e8 Merge remote-tracking branch 'origin/v13/dev' into v13/dev 2023-04-05 13:18:03 +02:00
Jacob Overgaard 4ead24edc9 add importmap to installer 2023-04-05 13:17:14 +02:00
9223b5737e Update target to execute during packaging (#13521)
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2023-04-05 12:59:01 +02:00
9fadb3a926 V13: Entity viewports (#14050)
* Add language entity

* Refactor LanguageEntities

* Rename ItemsLanguageController.cs to ItemsLanguageEntityController.cs

* Change route to match old pattern

* Implement datatype item endpoint

* Rename controllers to item instead of entity

* Implement dictionary item endpoint

* Add DocumentItemControllerBase.cs

* Implement ItemDocumentItemController.cs

* Implement documnent-type controller

* Implement media type controller

* Move to item folder

* Implement MemberGroupItem viewport

* Implement member type item viewport

* Implement partial view viewport

* Implement partial view viewport

* Implement Relation type viewport

* Implement script items endpoint

* Refactor FileItemPresentationModelFactory

* Implement StaticFile viewport

* Implement stylesheet viewport

* Implement template item viewport

* Fix up routing

* Implement taking start nodes into account

* Implement filtering by culture too

* Delete old endpoints

* Implement document blueprint endpoint

* Implement media item viewport

* remove unneccesary $

* add fixme comment

* Fix response moedl

* update OpenApi.json

* Update OpenApi.json

* Update openapi file

* filter languages på isocode

* Change to sorted set to avoid duplicates

* Implement GetMultipleAsync for ILanguageService

* Fixed issue with params from GET needs to be querystring

* Removed Icon from base and only return Icon if explicitly set

* Fixed openAPI spec

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-04-05 12:50:41 +02:00
Ronald BarendseandGitHub 4cb46f06ae Update default UmbracoVersion template value using MSBuild target (#13481)
* Update default UmbracoVersion template value using MSBuild target

* Fix target order when using pack --no-build

* Use JsonPathUpdateValue MSBuild task to update default UmbracoVersion template value

* Update UmbracoVersion in Umbraco Package RCL
2023-04-05 11:16:43 +02:00
Ronald BarendseandGitHub 92d92feb15 Add new 'Umbraco Package RCL' project template (#13776)
* Add new 'Umbraco Package RCL' project template

* Add --no-restore, hide --framework and remove conflicting -v parameter in Umbraco Package project template

* Hide --framework and --PackageTestSiteName, remove conflicting -v parameter in Umbraco project template and persist selected parameters

* Revert changes to Framework and UmbracoVersion parameter names
2023-04-05 09:32:48 +02:00
21b0a7ffae New Backoffice: Fix feedback to users controller (#14031)
* Add specific not found results

* Add tests for the enable/disable not found tweak

* Cache ids and key in UserIdKeyResolver

* Don't cache null keys

* BackOffice not Backoffice

* Move fetching the user out of the ChangePasswordUsersController

* Move resolving user out of SetAvatar

* Move resolving user out of Update

* Return more specific notfound in bykey

* Use ErrorResult for all endpoints with unknown errors

* Split integration tests

* Add mappers

* Use ?: consistently

* Add reuseable iso code validator

* Validate ISO code

* Update supressions

* Use method from base to get current user key

* Rename ISo to Iso

* Use keys in services instead of user groups + Added a couple of new validations

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-04-04 15:41:12 +02:00
Bjarke BergandGitHub 6313b8b3a1 Changed "Key" to "Id" in management API (#14045) 2023-04-04 13:20:29 +02:00
Bjarke Berg c8f4ae2e29 Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2023-04-04 09:25:39 +02:00
Bjarke Berg be2887683b Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2023-04-04 09:18:03 +02:00
Jacob Overgaard dbbfc0c69e add https support for development CORS 2023-04-03 14:58:37 +02:00
Lewis HazellandGitHub 37d737f9bc Case-insensitive tag names with SQLite provider (#14012)
* Ensure case insensitivity in tag name queries.

Use LIKE instead of = to ignore collation rules.

* Add integration test for creating tag relations with mixed casing.
2023-03-31 20:36:25 +02:00
b981f53254 Fix key names to id and allow sending id on create for datatypes (#14035)
* Changed some keys to ids and fixed so users can provide Ids when creating

* updated OpenApi.json

* Fixed issue with datatypes when wrong propertyEditorAlias was used and allow creating with key

* Updated OpenApi.json

* Handle duplicate names correct

* Fix for parent not found

* Handle if parent is not a container

* Update CompatibilitySuppressions

---------

Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
2023-03-31 13:59:44 +02:00
b8899459dc Determine correct if we can create a database with current connectionstring (#14030)
* Fix CanForceCreateDatabase method and add some unit tests

* Fixed an old copy/paste error

* A little nitpicking over wording and formatting

---------

Co-authored-by: kjac <kja@umbraco.dk>
2023-03-31 11:37:41 +02:00
Lucas Bach BisgaardandLaura Neto 3385947c4e Fix bug, in multiurlpicker where you cannot deselect a selected entity. 2023-03-31 10:03:18 +02:00
c662f5a36e Determine correct if we can create a database with current connectionstring (#14030)
* Fix CanForceCreateDatabase method and add some unit tests

* Fixed an old copy/paste error

* A little nitpicking over wording and formatting

---------

Co-authored-by: kjac <kja@umbraco.dk>
2023-03-30 10:19:35 +02:00
e30587f90d Support readonly set via SendingContentNotification (#13557)
* Support readonly set via SendingContentNotification

* Apply changes to second umb-property-editor as well

* Remove check on property.supportsReadOnly

* Disable allow unlock

* Add check on property.readonly

* Small adjustment in the order of preview checks

---------

Co-authored-by: Laura Neto <12862535+lauraneto@users.noreply.github.com>
2023-03-30 09:15:46 +02:00
Bjarke Berg 1f83e9ab19 Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2023-03-29 11:08:53 +02:00
Bjarke Berg 8e7798b8f0 Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2023-03-29 10:58:40 +02:00
Kenn JacobsenandGitHub fd3bb0fcb8 Add content notifications API (#14010) 2023-03-29 10:48:30 +02:00
Bjarke Berg 61a33c734c Merge remote-tracking branch 'origin/v10/dev' into v11/dev
# Conflicts:
#	src/Umbraco.Core/Routing/UmbracoRequestPaths.cs
2023-03-29 10:30:16 +02:00
9b626d02c8 New backoffice: User controller (#13947)
* Add UserResponseModel

* Add factory to created UserResponseModel

* Add GetByKey controller

* Add GetAllUsers endpoint

* User proper response model

* Make naming consistent

* Order by username in GetAll

* Add user filter endpoint

* Fix includer user states

* Remove gravatar from the backend

* Send user avatars in response

* Add create user model

* start working on create

* Validate the create model

* Add authorization to create

* Use UserRepository instead of UserService to ValidateSessíonId

* Create IBackofficeUserStore interface

This is essentially a core-friendly version of the BackOfficeUserStore, additionally it contains basic methods for managing users, I.E. Get users, save users, create users, etc.

* Remove more usages of user service

* Remove usages of IUserService in BackofficeUserStore

* Add documentation

* Fix tests and DI

* add IBackOfficeUserStoreAccessor to resolve it in singleton services

* Resolve circular dependency

* Remove obsolete constructor

* Add core friendly user manager

* Finish createasync in user service

* Add WIP create endpoint

* Save newly creates users user groups

* Use service scope for user service

* Remove now unnecessary accessors

* Add response types

* Add update user endpoint

* Add EmailUserInviteSender

* Add technology free way of creating confirmation token

* Add invite uri provider

* Add invite user to user service

* Add invite user controller

* Add delete endpoint

* Add operation status responses

* Add operation status responses

* Added temporary file uploads including a repository implementation using local temp folder.

* Add Disable users endpoint

* missing files

* Fixed copy paste error

* Fix create users return type

* Updated OpenApi.json

* Updated OpenApi.json

* Handle if created failed in identity

* Add enable user

* Make users plural in enable/disable

We're doing the operation on multiple entities

* Added file extension check

* Add unlock user endpoint

* Clean up. Removed old TemporaryFileService and UploadFileService and updated dictionary items to use this new items

* Clean up

* Add reset password

* Add UpdateUserGroupsOnUsers method

* Add UpdateUserGroups

* Get rid of stream directly on TemporaryFileModel, and use delegate to open stream instead.

* Fix post merge

* Use keys instead of IDs

* Add ClearAvatar endpoint

* Review changes

* Moved models to their own files

* Reverted launch settings

* Move enlist extension to its own namespace

* Create set avatar endpoint

* Add reponse types

* Remove infrastructure extension after merge

* Add Cmapatibility suppressions

* Add test suppression

* Add integration tests

* Fix issue found in tests

* Add invited user to UserInvitationResult

* Add more tests

* Add update tests

* Hide different tests under parent

* Return DuplicatUserName user operation status if username matches an email

* Add update tests

* Change sorted set to HashSet

It doesn't work if it's not IComparable

* Change ID to Key when checking super

* Add get tests

* Add more GetAllTests

* Move tests to the right namespace

* Add filter test

* Fix including disabled users bug found by test

* Add test to ensure invited user state

* Add test case for UserState.All

* Add more filter tests

* Add enable disable tests

* Add resolver for keys and ids

* Replace usages of IUserService with IUserIdKeyResolver

* Add CompatibilitySuppressions

* Add UserIdKeyResolverTests

* Fix UserIdKeyResolver

* Add missing user operation results

* Updates from review

* ID not key

* Post instead of patch

* Use set instead of params for enable/disable

* Don't call to array

* Use sets for usergroup keys and user keys instead

* LanguageIsoCode instead of Language

* Update CompatibilitySuppressions after changin enumerable to set

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
Co-authored-by: kjac <kja@umbraco.dk>
2023-03-29 08:14:47 +02:00
BatJanandSebastiaan Janssen 69010baceb Change style to class 2023-03-28 12:54:26 +02:00
7349ae1c5c Fix pressing enter in a property editor name field (#13329)
Co-authored-by: Sebastiaan Janssen <sebastiaan@umbraco.com>
2023-03-28 12:53:13 +02:00
patrickdemooij9andGitHub b17d9004fd Memory improvements to ShortStringHelper (#13089) 2023-03-28 10:18:41 +02:00
Bjarne FyrstenborgandGitHub 3a214975ed Add sortorder to configuration field (#13075) 2023-03-28 09:58:56 +02:00
1f6307944b Fixes: listitem: <li> elements must be contained in a <ul> or <ol> (#13120)
Co-authored-by: Rob Nicolson <rob.nicolson@brightwire.net>
2023-03-28 09:36:53 +02:00
Sebastiaan Janssen a88d0c0ec9 Unit tests need updating now that the WriterId is properly being set after merging #12843 2023-03-27 17:46:13 +02:00
Matthew CareandGitHub b34a93ed59 Prevent overflowing property values (#12943) 2023-03-27 12:40:39 +02:00
Ealse BoumaandSebastiaan Janssen 93a85a46f3 Fix: Infinite Editor creates each save action a new version when content is invalid (#12713) 2023-03-27 11:29:07 +02:00
Patrick de MooijandSebastiaan Janssen 3ee9bfbc93 12748: Make sure to set writerId 2023-03-27 09:54:35 +02:00
kjac 313eed96b9 Revert "Add content notifications API"
This reverts commit 8202879ba7.
2023-03-27 07:55:55 +02:00
kjac 8202879ba7 Add content notifications API 2023-03-27 07:55:18 +02:00
af24f304be New Backoffice: Fix total number of items (health checks, log viewer, packages) (#14003)
* Fix total number of items for health check controllers

* Fix total amount of items for log viewer controller

* Fixing AllMigrationStatusPackageController

* Fixing total items for package controllers

* Adding default implementation

* Update Nerdbank.GitVersioning dependency to 3.5.119

---------

Co-authored-by: Ronald Barendse <ronald@barend.se>
2023-03-24 11:47:59 +01:00
Jacob Overgaard 91d4389d2c add router lib to importmap 2023-03-24 11:01:33 +01:00
Sebastiaan Janssen 47bcc3e209 Merge branch 'v11/dev' into contrib 2023-03-24 10:51:31 +01:00
Jacob OvergaardandGitHub 03f1ff65fe V13: build new backoffice on Azure (#14005)
* add build scripts for new BO so it doesn't run through msbuild

* add node config for max_old_space_size to increase allowed heap size
2023-03-24 10:19:42 +01:00
Bjarke BergandGitHub f8e5205aa7 Reverse the EnablePackageValidation in tests, so it is explicity opt-in. Otherwise the generated csproj file in Benchmarks will always fail (#14004) 2023-03-24 08:40:51 +01:00
patrickdemooij9andGitHub e550a4ce3a Performance improvement for ReplaceFirst function (#13018)
* Some benchmarks for replacefirst & span method
2023-03-23 20:11:59 +00:00
LandLogic ITandMichael Latouche 99268f6211 Add it key translation 2023-03-23 19:14:29 +01:00
031beee989 Improve ImageSharpImageUrlGenerationTests (#13332)
* Improve ImageSharpImageUrlGenerationTests

Removed a few "stale" tests that look to have been from code of old.
Add tests for all ImageUrlGenerationOptions.
Add some edge case tests to make the tests more sensitive.
Reduce scope for certain tests so the test is more focused on one thing rather than multiple

* Amending a mis-spelt variable.

---------

Co-authored-by: georgebid <91198628+georgebid@users.noreply.github.com>
2023-03-23 09:38:18 +00:00
Nikolaj 1ece9627f7 Convert path to absolute 2023-03-23 09:22:51 +01:00
Jacob Overgaard 5e721da35e bump memory for node.js builds 2023-03-22 16:05:49 +01:00
Jacob Overgaard 7bc5e0e3a1 update backoffice git submodule 2023-03-22 16:00:48 +01:00
Jacob Overgaard 458229a6ee update backoffice git submodule 2023-03-22 15:46:44 +01:00
DennisandGitHub f64f634979 Fix equality check on property group (#13133)
* Fix equality check on property group

Also fix circular reference on PropertyTypeCollection
2023-03-21 23:38:10 +00:00
93da4371e3 V13: Rework attempt pattern to use userkey (#13964)
* Add default super user key to migrations

* Start refactoring all interfaces signatures with ids

* Refactor datatype service to use userKey pattern instead

* Refactor ContentEditingService to use userkeys

* Refactor services to userKey

* Refactor more services to use userkey instead of id

* Refactor RelationService to use userKeys

* Refactor template service to use keys instead of ids

* Refactor fileservice to use keys instead of ids

* Refactor LocalizationService to use keys instead of ids

* Refactor PackagingService to use keys instead of ids

* Refactor TemplateController to use current user keys

* Refactor DataTypeContainerService.cs

* Refactor DataTypeService to use keys instead of ids

* Fix up tests

* Fix up media editing service to use userkey instead of ID

* Update service ctor to avoid ambigious ctors

* refactor DataTypeService

* Refactor DataTypeService to not have a default value for parentKey

* Apply suggestions from code review

Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>

* Update comment

* Add suppression file

* Add backoffice CompatibilitySuppressions

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
2023-03-21 12:41:20 +01:00
Jacob Overgaard 8a8421c841 backoffice git submodule 2023-03-21 12:11:29 +01:00
Jacob Overgaard c26c00474c update importmap to reflect latest backoffice libraries 2023-03-21 12:11:19 +01:00
Nikolaj 21036a4c50 Merge remote-tracking branch 'origin/release/11.2.1' into v11/dev
# Conflicts:
#	build/azure-pipelines.yml
#	version.json
2023-03-21 08:54:08 +01:00
jesperweberandSebastiaan Janssen 36069aa813 Added sort audit to nodes actually being sorted 2023-03-20 16:21:38 +01:00
Sebastiaan Janssen d1fae0e350 Merge branch 'v11/dev' into contrib
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/listview.controller.js
2023-03-20 16:01:08 +01:00
Joel MandellandGitHub 451d1cec6a Fixing issue #13865 (i.e. Rich text link picker not resolving correct variant when using .ValueFor()). (#13889) 2023-03-20 15:52:36 +01:00
Busra SengulandGitHub 5d3e3a4c71 Updated core collabs team member on contributing page 2023-03-20 11:14:52 +00:00
Bjarke Berg ec9b873fac Added CompatibilitySuppressions files 2023-03-20 09:55:40 +01:00
Bjarke Berg 03afef299d Added CompatibilitySuppressions files 2023-03-20 09:53:22 +01:00
Bjarke Berg 27103355a5 Post merge fixes 2023-03-20 09:37:11 +01:00
Bjarke Berg 8a99222e26 Merge remote-tracking branch 'origin/v12/dev' into v13/dev
# Conflicts:
#	src/Umbraco.Core/CompatibilitySuppressions.xml
#	src/Umbraco.Core/Routing/UmbracoRequestPaths.cs
#	src/Umbraco.Infrastructure/CompatibilitySuppressions.xml
#	src/Umbraco.Web.BackOffice/Controllers/ContentController.cs
#	tests/Umbraco.Tests.UnitTests/Umbraco.Web.BackOffice/Controllers/ContentControllerTests.cs
2023-03-20 08:49:27 +01:00
Bjarke Berg 298890436a Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2023-03-20 08:41:29 +01:00
Bjarke Berg 5e21ddccc4 Merge remote-tracking branch 'origin/v10/dev' into v11/dev
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/listview/listview.controller.js
2023-03-20 08:38:28 +01:00
9a5e21702d small wording change for Element Type description (#13971)
* small wording change for Element Type description

* updated language files IRT Element Types

* replacing a duplicate Block List with Block Grid

---------

Co-authored-by: Rheannon <ral@umbraco.dk>
2023-03-18 00:03:49 +01:00
Donald NairnandKyle Eck 5915c9b29f Remove limitation on nested content to 1,000 items where max items unset. 2023-03-17 09:19:29 -04:00
Dhanesh Kumar MjandGitHub 71e7836001 [fix] Infinite Editor from member property with a media picker (#13817) 2023-03-17 12:20:23 +01:00
Sebastiaan Janssen 70b6aaf963 Merge branch 'v10/dev' into v11/dev
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/common/directives/components/umbavatar.directive.js
#	src/Umbraco.Web.UI.Client/src/common/services/tinymce.service.js
2023-03-17 08:56:55 +01:00
Ronald BarendseandGitHub 180fae342e Revert breaking changes from #13936 and remove CompatibilitySuppressions.xml (#13979)
* Revert breaking changes introduced by PR #13936

* Update PackageValidationBaselineVersion to 11.0.0 (stable version) and remove all CompatibilitySuppressions.xml files

* Fix build pipeline (pack solution again, avoiding trying to pack template projects)
2023-03-16 20:32:54 +01:00
835388ced0 Temporary files endpoints for management api (#13944)
* Added temporary file uploads including a repository implementation using local temp folder.

* missing files

* Fixed copy paste error

* Updated OpenApi.json

* Updated OpenApi.json

* Added file extension check

* Clean up. Removed old TemporaryFileService and UploadFileService and updated dictionary items to use this new items

* Clean up

* Get rid of stream directly on TemporaryFileModel, and use delegate to open stream instead.

* Review changes

* Moved models to their own files

* Reverted launch settings

* Update open API JSON file

---------

Co-authored-by: kjac <kja@umbraco.dk>
2023-03-16 08:25:15 +01:00
Sebastiaan Janssen 28ce2c5787 Merge branch 'v11/dev' into contrib 2023-03-16 08:07:25 +01:00
Lennard FonteijnandMichael Latouche e10ff16fa1 Fixed issue where filtering allowed element types with a NotificationHandler causes issues with Block Grid areas 2023-03-16 04:34:32 +01:00
Matt BegentandGitHub f6ebcdcfb6 Add skip links to header (#13938)
* Add skip links to header

* Tweak skip link z-index
2023-03-15 20:49:53 +01:00
6594c1350f Updated the version requirements for running the current back office (#13940)
* Updated the maximum Node version supported

Building the current version of the back office is only supported on Node v16 and earlier so have updated the docs to reflect that.

* Updated the .Net and VS requirements

For v11 you now need to be running .Net 7 and VS 2022 so have updated the docs to reflect that.

* Apply suggestions from code review

Co-authored-by: Jason Elkin <jasonelkin86@gmail.com>

---------

Co-authored-by: Sebastiaan Janssen <sebastiaan@umbraco.com>
Co-authored-by: Jason Elkin <jasonelkin86@gmail.com>
2023-03-15 12:56:47 +01:00
1e4c17a5f9 V13: Add default superuser key (#13955)
* Add default super user key to migrations

* Minor tweaks

* Obsolete superuser id

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
2023-03-15 10:32:00 +01:00
Kenn JacobsenandGitHub 4fb011e0fc Domains and hosts API (#13963)
* API for domains and hostnames incl. unit tests

* Update Open API json

* Update other unit tests to use new domain service methods where applicable

* Fix merge + update models to new naming scheme

* Handle attempts to add the same domain twice + unit tests for duplicate domain handling

* Review fixes
2023-03-15 10:28:23 +01:00
Jacob Overgaard ea1402de52 update git submodule 2023-03-15 08:06:22 +01:00
Erik-Jan WestendorpandGitHub 11b20cc6cc Add Romanian language (#13965) 2023-03-15 07:26:11 +01:00
Jason ElkinandSebastiaan Janssen 50c4f8c6b5 Use correct listenAddress for Karma on node 18+ 2023-03-15 07:24:28 +01:00
Nikolaj 921a32ee03 Bump version 2023-03-14 14:20:31 +01:00
Bjarke BergandNikolaj fcca1cf5c0 Check the tmpimg path is in the expected folder 2023-03-14 14:19:11 +01:00
Karn Blackmoreandgeorgebid daf54468b1 Fix algiment issues by setting the editor to position fix. 2023-03-14 12:18:01 +00:00
Jacob Overgaard 28e41f7cdc update git submodule 2023-03-14 12:52:00 +01:00
Jacob Overgaard 4d24312fe2 update git submodule 2023-03-13 15:32:23 +01:00
Jacob Overgaard 3b49e34e79 Merge remote-tracking branch 'origin/v13/dev' into v13/dev 2023-03-13 15:32:10 +01:00
Jacob Overgaard 6878334c3e add notification as separate library 2023-03-13 15:32:01 +01:00
5ac0087013 Rename data to values (#13892)
* Rename data to values

* Rename data to values

* Update OpenApi.json

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-03-13 15:03:54 +01:00
Kenn JacobsenandGitHub c0975f341c CRUD API for media + get-by-id for media type (#13934)
* CRUD API for media + get by ID for media types

* A little housekeeping for documents (align with media)

* Update Open API json

* Add messages to NotFound results (both content and media)

* Review changes; use same model for content and media URLs + return bad request when trying to move something to trash that is already in trash

* Fix bad merge + rename base (response) classes appropriately between both media and content types
2023-03-13 15:02:30 +01:00
kiasynandGitHub 62b49c7ea7 Fix ViewContext.FormContext not being set during BeginUmbracoForm (#13914)
* Fix ViewContext.FormContext not being set during BeginUmbracoForm

Client validation is broken without this if there are multiple forms with the same field names on a page.

* Tweaked comment
2023-03-13 14:37:51 +01:00
ChadandGitHub 7c30da9fbf Faster cache key generation (#13504)
* Reduce the number of string concatenations required to generate cache keys.
* Updated to match existing Nucache keys.

---------
2023-03-13 13:06:02 +00:00
1fb6afbc03 Add setting to disable domain warnings (#13954)
* Add appsetting and return if domain warning are disabled

* Fix unit tests

* Add default value

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-03-13 14:04:16 +01:00
Jacob Overgaard 8df3bca5fe git submodule update 2023-03-13 11:50:06 +01:00
70a34105e0 V11: obsolete legacy data types (#13953)
* Obsolete the grid

* Obsolete the legacy media picker

* Obsolete nested content

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-03-13 11:33:27 +01:00
5107375cd8 V13/feature/rename viewmodels to request response (#13952)
* Rename DocumentType/ContentType models

* Rename all viewmodels

* Rename factories

* Update OpenApi.json

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-03-13 10:49:21 +01:00
Jacob Overgaard 44bbf48540 Merge remote-tracking branch 'origin/v13/dev' into v13/dev 2023-03-13 09:57:27 +01:00
Joe GlombekandMichael Latouche 066276a532 Add checkered background to file upload
(including SVGs added to the media library)
2023-03-11 02:13:29 +01:00
44077e15e3 Extract redirect URL from route values for member logout (#13933)
* Extract redirect URL from route values for member logout

* Update src/Umbraco.Web.Website/Controllers/UmbLoginStatusController.cs

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

---------

Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2023-03-10 10:55:28 +01:00
AaronandGitHub ca515c3ed7 Changed to cast double to long (#13935) 2023-03-09 16:54:29 +01:00
64bd310037 update block label not assigning fixes: #13833 (#13937)
Co-authored-by: Sean Thorne <sean.thorne@truedigital.co.uk>
Co-authored-by: georgebid <91198628+georgebid@users.noreply.github.com>
2023-03-09 15:34:38 +00:00
AaronandGitHub 888dccaec4 Reversed X-XSS (#13936) 2023-03-09 16:19:37 +01:00
AaronandJason Elkin 393845ce4d Solves tooltip issue for block column editor on remove block column editor option 2023-03-09 15:13:57 +00:00
Paul SealandGitHub d8f204ddf9 Fix the reference to the .targets file (#13847)
Updates the reference to the .targets file to use the correct folder name of `buildTransitive` instead of `build`
2023-03-09 13:33:53 +00:00
be72c8147d Faster full nucache table rebuild (#13501)
* SQL Server Truncate when full nucache SQL rebuild.

* Optimize truncate for SQL Lite

* Remove comment.

* Use current DB Types

* I added a couple of formatting changes.

---------

Co-authored-by: georgebid <91198628+georgebid@users.noreply.github.com>
2023-03-09 12:25:07 +00:00
Jacob Overgaard 22937cb550 optimise importmaps 2023-03-08 14:23:46 +01:00
Andreas ZerbstandGitHub 4d6e1e9531 Removed test file because the test are broken (#13924)
* Removed test file because the test are broken

* Removed outdated failing tests
2023-03-08 14:04:59 +01:00
Bjarke Berg 381c0e0978 Fixed issue with serializing structured values from serilog. 2023-03-08 13:30:58 +01:00
CyberReiterandGitHub 0cfc1fb664 Fall back to object if PublishedPropertyType modelType is null (#13553)
* add null check

* return object when type is null
2023-03-08 11:14:22 +00:00
30abbb0c5d Fix install when adding custom default languages (#13904)
* Adding ids to language installation

---------

Co-authored-by: Jason Elkin <jasonelkin86@gmail.com>
2023-03-08 10:18:17 +00:00
Bjarke Berg de6df01485 Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2023-03-08 11:12:21 +01:00
Bjarke Berg 52ddcb8d1d Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2023-03-08 11:01:06 +01:00
Bjarke Berg 2c8ba19531 Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2023-03-08 10:59:46 +01:00
1b8ce54e49 Remove Json.NET dependencies for more property editors (#13912)
* Make the Tags property editor JSON serialization agnostic

* Make the Multiple Value editor JSON serializer agnostic

* Make Media Picker 3 value converter work with System.Text.Json instead of Json.NET

* Make Image Cropper value converter work with System.Text.Json instead of Json.NET

* Remove Json.NET dependencies from ImageCropperTemplateExtensions

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

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

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

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

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

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

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

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

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

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

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

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

---------

Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2023-03-07 14:31:27 +01:00
Bjarke BergandGitHub e2a15b58ed Fallback to use ActivatorUtilities to create controller from type, if it is not registered in DI (#13910) 2023-03-07 11:21:57 +01:00
Jacob Overgaard 3b77debbfb update git submodule 2023-03-03 11:29:05 +01:00
Nikolaj Brask-NielsenandGitHub 0789bb9eb1 Remove transitive project references
* refactor: Remove transitive project relations

* refactor: Remove transitive project relations
2023-03-02 16:43:08 +00:00
Miska HusgafvelandEmma L Garland 282b7ac3d5 Ensure cropperHelper.pixelsToCoordinates returns valid coordinates 2023-03-02 15:52:11 +00:00
Jacob Overgaard 25ac2253b5 Merge remote-tracking branch 'origin/v13/dev' into v13/dev 2023-03-02 14:51:09 +01:00
Jacob Overgaard 7316a0e82c add importmap to Default.cshtml 2023-03-02 14:50:51 +01:00
Erik-Jan WestendorpandGitHub 5158d8119d Map BackOfficeNotification in ContentMapDefinitions (#13874)
* Map Notifications

* Empty line
2023-03-02 14:23:20 +01:00
Nikolaj GeisleandGitHub f3ca18ccbf Apply skip take after (#13903) 2023-03-02 14:09:22 +01:00
Jacob Overgaard cbfa841413 add gitignore stuff from old executable 2023-03-02 13:52:35 +01:00
Erik-Jan WestendorpandGitHub 9771e77243 IsNullOrWhiteSpace Extension method for HtmlEncodedString (#13747)
* Add IsNullOrWhiteSpace Extension method

IsNullOrWhiteSpace extension method for IHtmlEncodedString

* Move extension method

* Add a UnitTest for the IsNullOrWhiteSpace extension method

* Update unit test
2023-03-02 13:57:43 +03:00
Sebastiaan Janssen 2172765b01 Merge branch 'v11/dev' into contrib 2023-03-02 09:39:10 +01:00
Bjarke Berg d53ecc16dd Merge remote-tracking branch 'origin/v12/dev' into v13/dev
# Conflicts:
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Media/mediaSection.spec.ts
2023-03-02 08:50:05 +01:00
Bjarke Berg ef7db1dec9 Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2023-03-02 08:47:38 +01:00
Bjarke Berg eac6eb820b Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2023-03-02 08:46:58 +01:00
Menno MoutandMichael Latouche ca23784898 Added a CalculateMediaStartNodeIds method call when the startNode passed in as parameter is null. When this does return an array of startNodes the first one is being used. The question remains if this is desired behaviour. With this implementation the user has no real control over where the file is going to go. Atleast with this implementation the user can now see the file. 2023-03-02 04:56:14 +01:00
Andreas ZerbstandGitHub 922c79ae86 V11/bugfix/fixed flaky test (#13893)
* Moved deleteAllMedia to afterEach, the reason for that is that we delete all the media in each test.

* Added additional timeout and a WaitForTimeout(), the reason for the WaitForTimeout is because it can take a second for the modelsbuilder to update the view.

* Added more timeout for the isSuccessNotificationVisible. Updated the helper ensureNameNotExists so they actually delete the partialViews

* Updated the locators for deleting the UK language. Added an expect for checking if the UK language is visible in the UI

* Updated the position where the dragAndDrop drops to

* Changed the trace so we only save the trace on the first retry, it saves a lot of time when the tests are running, since we dont need to save the trace and then delete the trace after each successful test

* Updated locators. Added an expect so the test waits until the / is visible in the URL before going further into the test

* Changed back to retain on failure on the pipelines, the reason for that is if a test only fails once, then we wont see what the actual error was in the test when looking on the pipeline.

* Added an expect so we wait until the page is  loaded for packages

* Updated the dragAndDrop so they hopefully work.

* Changed values for dragAndDrop

* Updated the dragAndDrop values

* Bumped playwright version
2023-03-01 08:52:26 +01:00
27ca36db53 V13: relation type controller (#13856)
* Create RelationTypeControllerBase.cs

* Implement ByKey endpoint

* Move controllers

* Implement ByRelationTypeKeyRelationController

* Refactor relation service to use skip/take in interface

* change httpget

* Implement object types endpoint

* Add ObjectTypeViewModelFactory.cs

* Change signature to IActionResult

* Implement CreateRelationTypeController.cs

* Implement CreateRelationTypeController.cs

* Add optional key parameter to RelationType

* Add optional key to RelationTypeSavingViewModel

* Update ProducsResponseType

* Implement UpdateRelationTypeController

* Update routes

* Implement DeleteRelationTypeController

* Remove key from UpdatingViewmoDel

* Implement UpdatingViewModel factory method

* Update relationType factory

* Fix paging for object types

* Implement CreateAsync

* Update create action to use CreateAsync

* Implement update async

* Add default implementations to avoid breaking changes

* actually use userIds

* Add ProducesResponseType status 400 to endpoints

* Implement new DeleteAsync method

* Update OpenApi.json

* Add mapping to DI

* Update 404 to return proper HTTP status

* Add not found to ByKey action

* Rename viewmodels to request/response

* Update OpenApi.json

* All RelationServiceTests.cs

* Add allowed object types test

* Fix grouping

* Implement AllowedRelationObjectTypesService.cs

* Refactor view model factory to use new service

* Implement non-happy path tests

* Implement allowed child/parent object types

* refactor test to return proper relationTypeOperationStatus

* Add can create relation type with key

* Add Id test

* formatting

* Refactor service to have validation logic in save method

* move object types endpoint to own silo

* Delete unused using

* Update OpenApi.json

* Update OpenApi.json

* Update tests to user proper child/parent

* Implement RelationTypeBaseModel

* Update OpenApi.json

* Use array instead of enumerable

* Rename view model factory to presentation factory

* Rename GetPagedByRelationTypeKey

* Rename IRelationViewModelFactory

* Rename IRelationTypeViewModelFactory

* Update error description

* Update OpenApi.json

* Update OpenApi.json

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
2023-03-01 08:51:17 +01:00
mwillebrandsandJason Elkin 6ce30fb561 Fix for #13860
Undefined error when inserting an empty link in the RTE editor
2023-02-28 17:20:36 +00:00
Bjarke BergandGitHub a00421602e Merge pull request #13891 from umbraco/v13/feature/content-create-update-delete
Create/update/delete API for Document
2023-02-28 16:00:48 +01:00
niekvanderreestandGitHub 27e38e1606 Change GetMinNonAlphaNumericChars() to return 1 (#13876) 2023-02-28 14:47:53 +01:00
Bjarke BergandGitHub 1d8941cf28 Merge pull request #13884 from umbraco/v13/feature/extension-model
Add extension model for new backoffice
2023-02-28 10:26:26 +01:00
Bjarke BergandGitHub ea1ca14f1e Updated to use latest c# language version instead of csharp 8, when build views (#13894) 2023-02-28 09:57:17 +01:00
b9ffd01f69 Update src/Umbraco.Core/Configuration/Models/PackageManifestSettings.cs
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-02-28 09:43:00 +01:00
kjac 0f95dbbfa6 Review changes and fixes 2023-02-28 08:36:48 +01:00
Andreas ZerbstandGitHub 4719f4eb5a V11/feature/block grid editor content tests rendering (#13885)
* Added tests for testing if the rendering is working as intended for the block grid editor

* Added Layout stylesheets for testing

* We are now using the page.toHaveScreenshot() which checks if the test looks the same as the pngs.

* Updated the toHaveScreenShot so they now take in a shorter name for the pngs

* Updated the page.goto so they new go the to baseUrl based on the umbracoConfig

* Added additional pngs for the Linux tests

* Updated the pngs for linux yet again
2023-02-28 08:16:31 +01:00
Andreas ZerbstandGitHub 610a519045 Added test for testing the content editor with a block grid editor (#13887) 2023-02-28 08:06:43 +01:00
459e6f5421 Update src/Umbraco.Infrastructure/Manifest/PackageManifestReader.cs
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-02-28 08:01:17 +01:00
b5de843b84 Update src/Umbraco.Infrastructure/Manifest/PackageManifestService.cs
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-02-28 07:55:10 +01:00
Bjarke Berg 8bce0074c0 Merge branch 'v13/dev' into v13/feature/content-create-update-delete 2023-02-28 07:51:24 +01:00
Jacob Overgaard 7535576edf update git submodule 2023-02-27 14:43:16 +01:00
Jacob Overgaard 95a56238c9 update git submodule 2023-02-27 14:42:49 +01:00
kjac 51bb7b01bd Update open API JSON with renamed model names 2023-02-27 11:28:26 +01:00
kjac 207c1b6dde Rename ViewModel to ResponseModel + rename ViewModel factory to Presentation factory 2023-02-27 11:27:26 +01:00
kjac 9152d05613 Update open API JSON 2023-02-27 11:19:17 +01:00
kjac 34fa4aa5fc Clean up models 2023-02-27 09:25:35 +01:00
kjac 7d15e6d5ea Merge branch 'v13/dev' into v13/feature/content-create-update-delete 2023-02-27 08:42:13 +01:00
5e90fa26c1 V13: Add parentkey to notifications (#13832)
* Add parent key to CopyingNotification

* Use parentkey on notifications

* Implement ParentKeys for Copying notification

* Obsolete parentId

* Implement MoveToEventInfoBase

* Refactor MovingToRecycleBinNotification to use the new MoveEVentInfoBase

* Refactor MediaMovingToRecycleBinNotification

* Refactor MovedToRecycleBinNotification to use new MoveEventInfo

* Refactor ContentMovedToRecycleBinNotification to use new MoveEventInfo

* Start implementing parent key in moveinfo

* Add FIXME's to move methods

* Refactor Move to get parentKey for descendants

* Add FIXME for move method

* Use MoveToRecycleBinEventInfo in RelateOnTrashNotificationHandler

* Add fixme's to DataTypeRepository

* Add obsolete messages

* Revert changes in ContentTypeServiceBaseOfTRepositoryTItemTService.cs

* Fix bad indentation

* Pass the recursive variable

* Revert changes in ContentService.cs

* Refactor MoveEventInfo to not duplicate equals method

* Refactor Equals to not duplicate code

* Add UnitTests of Equals

* make equals public and add non-happy path tests

* Remvoe duplicate call to base

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-02-27 08:40:17 +01:00
Miska HusgafvelandMichael Latouche 44e8d0ac6d Make additionalRouteVals nullable in Umbraco.Extensions.HtmlHelperRenderExtensions.BeginUmbracoForm() - Fixes #13662 2023-02-27 01:31:59 +01:00
Menno MoutandGitHub 37db3ae3da Listview batch publishing on multi language site, publishes all variants #13755 - Fix (#13772)
* Modified PostPublishById to handle content that is culture variant. Added model and modified the javascript function that call the api endpoint.

* Added separate method for publishing with cultures. Added if else statment to js function.

* Moved check for all cultures being published to the top of PostPublishByIdAndCulture. Added parameter to ngDoc. Added Where Query.
2023-02-26 14:00:28 +01:00
kjac 502713fdbb Rename models as per new naming conventions + clean up duplicate models 2023-02-23 16:57:49 +01:00
kjac 9e8a0645cd Merge branch 'v13/dev' into v13/feature/content-create-update-delete 2023-02-23 16:50:19 +01:00
kjac 997f568303 Make the package manifest endpoint non-paginated 2023-02-23 16:49:20 +01:00
kjac 583b10562d Add missing compat suppression 2023-02-23 15:37:47 +01:00
kjac a70d76e4b5 Renamed controller for consistency 2023-02-23 15:37:15 +01:00
kjac e3b216c087 Re-apply missing legacy manifest renaming + re-generate compat suppressions after merge 2023-02-23 15:36:59 +01:00
kjac 5d2a90f974 Merge branch 'v13/dev' into v13/feature/extension-model
# Conflicts:
#	src/Umbraco.Cms.Api.Management/Controllers/Package/PackageControllerBase.cs
#	src/Umbraco.Cms.Api.Management/DependencyInjection/PackageBuilderExtensions.cs
#	src/Umbraco.Cms.Api.Management/ManagementApiComposer.cs
#	src/Umbraco.Core/CompatibilitySuppressions.xml
#	src/Umbraco.Infrastructure/CompatibilitySuppressions.xml
#	src/Umbraco.Infrastructure/Serialization/ContextualJsonSerializer.cs
#	src/Umbraco.Web.BackOffice/CompatibilitySuppressions.xml
2023-02-23 15:28:44 +01:00
Andreas ZerbstandGitHub 6128ad1bde V11/feature/blockgrid editor content tests advanced (#13877)
* Added test for the advanced section under the block grid editor in content

* Bumped versions

* Added fixture template and customView

* Updated naming of tests
2023-02-23 14:44:58 +01:00
c2ecc8dc33 New Backoffice: Package controller (#13578)
* Adding migration to update the default GUID value of created packages

* Updating the GUID if it is the default value when a package is saved

* Adding PackageDefinitionViewModel for representing a package

* Adding a mapping for package representation

* Adding PackageControllerBase, GetAllCreated and GetEmpty endpoints

* Adding GetCreatedByKey endpoint

* Adding GetByKey implementation for created packages

* Include MapAll comment

* Adding Download package endpoint

* Saving created package endpoint

* Adding a factory to create a PackageDefinition from view model

* Cleanup

* Fix error message

* Check for duplicate package name

* Remove commented out DuplicateNameException

* Moving created packages to /created folder/base

* Implement delete endpoint

* Update OpenApi.json

* Fix package route

* Fix OpenApi.json

* Add Ok() around the result

* Create PackageBuilderExtensions

* Adding suppression changes

* Cleanup

* Use ProblemDetailsBuilder

* Extract collecting installed packages from package migration plans into its own method

* Use GetInstalledPackagesFromMigrationPlans to return all migration statuses

* Add Status to DictionaryControllerBase ProblemDetails

* Implement RunMigrationPackageController

* Adding more information to the log message

* Update OpenApi.json

* Change param name

* Fix OpenApi.json

* Fix response type for Log viewer endpoint

* Remove EmptyPackageController

* Rename to RunPendingPackageMigrations

* Introduce new PackageOperationStatus

* Making methods async and introducing new Create, Update and Delete methods

* Fix async calls

* Fix Mapper - multiple enumeration and cleanup

* Creating special action models

* Fixing the factory with new models changes

* Service implementation changes

* Removing SaveCreatedPackageController as the functionality is split between Create and UpdateCreatedPackageController

* Utilize the new DeleteCreatedPackageAsync

* Refactor DownloadCreatedPackageController as some responsibility is moved to the service

* Refactor PackagingService to use auditService

* Refactor PackagingService to use skip/take

* Refactor services to return pagedmodel

* Refactor controller to use new return value

* update OpenApi.json

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-02-23 14:36:21 +01:00
Andreas ZerbstandGitHub e3f5bf8cdf Added test for the settings section (#13878) 2023-02-23 14:30:29 +01:00
b96302a9da V13: Audit log controller (#13842)
* Implement AuditLogByTypeViewModel

* Add GetLogs endpoint

* Implement AuditLogViewModelFactory and use it

* Remove mapping and do that in ViewModelFactory

* Add Skip take pagination to AuditService.cs

* Get entity key from repository

* Only create filter if sincedate has value

* Refactor to handle enitity not being found

* Add by type route

* Rename AuditLogViewModel.cs

* Add CreateAuditLogWithUsernameViewModel method to factory

* Rename method in factory

* Fix up controllers to use async service

* Refactor to use pagedModel

* Update sincedate query

* Add FIXME

* Move entity call in scope

* Rename methods to async

* Update src/Umbraco.Core/PaginationHelper.cs

* Refactor to use IActionResult

* Audit log in two words

* Fix up by key

* Fix routing

* Fix ByType

* Update ByType routing

* Refactor to also pass DateStamp

* Add Key to WithUserNameViewModel

* Refactor extension method to call new GetAsync method

* use new GetAsync method

* Rename models and implement base class

* Update OpenApi.json

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
2023-02-23 11:32:24 +01:00
Nikolaj GeisleandGitHub d91ed4f568 Obsolete ctor (#13875) 2023-02-23 10:54:20 +01:00
kjac 93149160a7 Make various value editors handle their respective data as concrete types rather than strings or otherwise strange legacy data formats 2023-02-23 09:12:10 +01:00
kjac 710ae3c788 Make the JSON object converter return generic lists of types whenever applicable - and JsonArray for JSON objects. 2023-02-23 09:09:08 +01:00
Andreas ZerbstandGitHub c81e9decb8 V11/feature/block grid editor content tests area (#13867)
* Added test for testing the area of the blockGridDataType

* Bumped version of playwright, builders and the helpers

* Added additional test timeout

* Added additional timeout since some test can be slow and timeout

* Added additional mediaLibrary to the path

* Changed so we now use slow which increases the test timeout by three times

* Changed to slow instead of setting timeout
2023-02-23 09:08:46 +01:00
Sebastiaan Janssen 8d714e5d3f Merge branch 'v11/dev' into contrib 2023-02-23 08:10:13 +01:00
kjac 767e3cd9eb Add tests for content editing service 2023-02-23 07:31:05 +01:00
Bjarke Berg 37ac85ee96 Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2023-02-23 07:18:25 +01:00
Bjarke Berg 8cb9edb69d Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2023-02-23 07:17:56 +01:00
Bjarke Berg 7b818b2fce Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2023-02-23 07:17:21 +01:00
Bjarke Berg 4be6e5b71c Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2023-02-23 07:16:50 +01:00
2a3c0358b1 Add support for Inline Macro - To enable: Add a Macro Parameter called: enableInlineMacro with Umbraco.TrueFalse set to True (value:"1") (#13628)
- Custom Macro Parameter with true as default value can be created for those prefering that in their project

Co-authored-by: Jo Mehmet Sollihagen <jomehmet@solsol.no>
2023-02-22 15:21:53 +01:00
Bjarne FyrstenborgandGitHub 62fdbd159c Reset selected index/searcher (#13866) 2023-02-22 14:54:47 +01:00
46cc9d6a97 V13: Add Guids to Users (#13868)
* Add MSSQL migration

* Make upgrade possible when user doesn't have a key yet

* Migrate SQLite

* Migrate the external login column

* Fix logging in after migration

* Handle fake GUID correctly

* Make GetByKey async

* Resolve external logins by key instead of id

* Remove usage of naive UserIdToInt

* Dont use ToGuid for property type defaults

* Use constant GUID for user groups

* Ensure that the same GUID is used to create the root user.

* Add migration for two factor logins

* Add default implementations

* Fix unit test

* Remove TODO

* Fix integration tests

* Add default implementation instead of throwing

Co-authored-by: Bjarke Berg <mail@bergmania.dk>

* Make SQLServer migration idempotent

* Add comment about SQLite

* Fix typo

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-02-22 12:33:41 +01:00
kjac 95ec06e119 Fix model name clash in Swagger 2023-02-22 11:39:14 +01:00
kjac 6a0f6267f1 Add missing JSON converters to configuration editor serializer 2023-02-22 11:28:21 +01:00
Andreas Zerbstandnikolajlauridsen cf1cd51266 Removed path so we can generate templates 2023-02-22 08:49:15 +01:00
Bjarke Bergandnikolajlauridsen 0e65af701f Fixed pipeline after dotnet sdk 7.0.200 2023-02-22 08:49:10 +01:00
nikolajlauridsen 0014f0e6db Bump version 2023-02-22 08:38:16 +01:00
Bjarke BergandGitHub f734f1fc6a Merge pull request #13861 from umbraco/v13/bugfix/fixed_profiling_endpoints
Fixed profiling status endpoints and added an update endpoint
2023-02-22 07:27:52 +01:00
Nikolaj 74f7ab4e1a Check if value is false consistently 2023-02-21 15:37:49 +01:00
Nikolaj 3608540d45 Use is false instead of negation 2023-02-21 15:35:36 +01:00
0619a7de41 Use keys for tracked references (#13849)
* Use Keys for tracked references instead of int id's.

* Updated OpenApi.json

* Handle filterMustBeIsDependency consistently

---------

Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
2023-02-21 15:20:34 +01:00
kjac cf12b9540e Merge branch 'v13/dev' into v13/feature/content-create-update-delete
# Conflicts:
#	src/Umbraco.Cms.Api.Management/Controllers/Document/ByKeyDocumentController.cs
#	src/Umbraco.Cms.Api.Management/Controllers/Document/DocumentControllerBase.cs
#	src/Umbraco.Cms.Api.Management/DependencyInjection/DocumentBuilderExtensions.cs
#	src/Umbraco.Cms.Api.Management/Mapping/Content/ContentMapDefinition.cs
#	src/Umbraco.Cms.Api.Management/Mapping/Document/DocumentMapDefinition.cs
#	src/Umbraco.Cms.Api.Management/ViewModels/Content/ContentViewModelBase.cs
#	src/Umbraco.Cms.Api.Management/ViewModels/Content/VariantViewModelBase.cs
#	src/Umbraco.Cms.Api.Management/ViewModels/Document/DocumentViewModel.cs
#	src/Umbraco.Infrastructure/Serialization/SystemTextJsonSerializer.cs
2023-02-21 14:07:36 +01:00
81b28df6ab Merge dev into contrib (#13871)
* Removed path so we can generate templates

* Remove old proj ref to core from cs proj (#13870)

Co-authored-by: Zeegaan <nge@umbraco.dk>

---------

Co-authored-by: Andreas Zerbst <andr317c@live.dk>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-02-21 13:49:03 +01:00
2eebd0558c Document and document type read API (#13853)
* Basic structure for document and document type read API

* Handle unpublished, non-variant content

* Expose content type key on ContentTypeSort

* Add the remaining properties to document type (minus list view info, still pending)

* Obsolete more ILocalizationService usage

* Add URLs and template data to document view model

* Clean up + add proprety type appearance

* update submodule commit

* front-end commit

* latest front-end commit

* latest commit

* latest front-end commit

* Rename content property to content value in view model layer

* Add contextual JSON serialization as default JSON serializer

* Add FIXME to content type sort + rearrange constructor parameters

* Fix broken remark tag

* Whitelist breakage for ContentTypeSort

* Add variance info to property type output

* Update src/Umbraco.Cms.Api.Management/Controllers/Document/ByKeyDocumentController.cs

Co-authored-by: Bjarke Berg <mail@bergmania.dk>

* Update src/Umbraco.Cms.Api.Management/Controllers/DocumentType/ByKeyDocumentTypeController.cs

Co-authored-by: Bjarke Berg <mail@bergmania.dk>

* Update src/Umbraco.Cms.Api.Management/Factories/ContentUrlFactory.cs

Co-authored-by: Bjarke Berg <mail@bergmania.dk>

* Add a few FIXME comments about async entity retrieval

---------

Co-authored-by: Niels Lyngsø <niels.lyngso@gmail.com>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-02-21 13:40:41 +01:00
Sebastiaan Janssen 0d1db91be5 Merge branch 'v11/dev' into contrib 2023-02-21 13:23:04 +01:00
Smayke95andGitHub 42d143c6b2 Add Bosnian language (#13854)
* Add Bosnian language

* fix

* Fix issue with Marketplace
2023-02-21 12:42:01 +01:00
Bjarke Berg 14d9fe796a Fix test 2023-02-21 12:19:56 +01:00
79a9d73a90 Remove old proj ref to core from cs proj (#13870)
Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-02-21 12:17:17 +01:00
Bjarke Berg ed25342311 Fixed tess 2023-02-21 11:28:21 +01:00
kjac d7ad194a5b Merge branch 'v13/dev' into v13/feature/content-create-update-delete 2023-02-21 09:47:44 +01:00
kjac ff90e2a865 Add async get method to content editing service 2023-02-21 09:46:23 +01:00
kjac 9b63d33b33 Merge branch 'v13/feature/content-and-content-type-read-api' into v13/feature/content-create-update-delete 2023-02-21 09:33:21 +01:00
kjac 8541919880 Add a few FIXME comments about async entity retrieval 2023-02-21 09:32:49 +01:00
6982b38ebd Update src/Umbraco.Cms.Api.Management/Factories/ContentUrlFactory.cs
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-02-21 09:22:19 +01:00
ee4bfa8f5a Update src/Umbraco.Cms.Api.Management/Controllers/DocumentType/ByKeyDocumentTypeController.cs
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-02-21 09:22:09 +01:00
c269ebc347 Update src/Umbraco.Cms.Api.Management/Controllers/Document/ByKeyDocumentController.cs
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-02-21 09:22:00 +01:00
kjac a541e24508 Add variance info to property type output 2023-02-21 09:18:57 +01:00
Simone ChiarettaandGitHub 362832b594 Changed modifier for ContentPickerValueConverter (#13864)
Changed internal to public for ContentPickerValueConverter, which was the only property value converter defined as `internal`
Fixes issue umbraco#13858
2023-02-21 08:05:56 +01:00
Bjarke Berg be8f120851 Updated OpenApi.json 2023-02-20 15:08:29 +01:00
Bjarke Berg 0d29ad9333 Moved logic from all around into the repository 2023-02-20 14:42:12 +01:00
Bjarke Berg 0ce5a5bb29 Fixed nonodes page css 2023-02-20 14:25:58 +01:00
Bjarke Berg 3587172e02 Fixed and added profiling endpoints 2023-02-20 14:22:35 +01:00
kjac 51189febfb Make Multi URL Picker value editor able to utilize System.Text.Json 2023-02-20 11:09:57 +01:00
kjac 361db0ed3c Add create, update and delete (move to recycle bin) operations for Document 2023-02-20 11:08:22 +01:00
kjac e12fbdf5b7 Add Udi and GuidUdi support in JSON serializer 2023-02-20 11:05:56 +01:00
kjac ec46cbcd71 Make JSON object converter return JsonArray for arrays of JSON items 2023-02-20 11:04:57 +01:00
kjac df7cb851e8 Whitelist breakage for ContentTypeSort 2023-02-18 14:15:19 +01:00
kjac 6f726c3e67 Fix broken remark tag 2023-02-18 14:14:46 +01:00
kjac 0bc08e6a91 Add FIXME to content type sort + rearrange constructor parameters 2023-02-18 13:58:02 +01:00
kjac 323a1b731b Add contextual JSON serialization as default JSON serializer 2023-02-18 13:41:54 +01:00
Andreas ZerbstandGitHub 1f7874dfc8 Removed failing test (#13846) 2023-02-17 11:46:38 +01:00
Bjarke BergandGitHub 8d1218374f Merge pull request #13843 from umbraco/v13/feature/website_assets_directly_from_static_assets
V13: website assets directly from static assets
2023-02-17 10:02:39 +01:00
Bjarke Berg 889f87f2ae Added missing files and updated gitignore 2023-02-17 08:32:07 +01:00
dependabot[bot]andMichael Latouche d61c32c1e4 Bump @sideway/formula in /tests/Umbraco.Tests.AcceptanceTest
Bumps [@sideway/formula](https://github.com/sideway/formula) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/sideway/formula/releases)
- [Commits](https://github.com/sideway/formula/compare/v3.0.0...v3.0.1)

---
updated-dependencies:
- dependency-name: "@sideway/formula"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-16 23:17:10 +01:00
de27eb697e Fixes #13732 - IsBackOfficeRequest is extremely inefficient (#13743)
* Update UmbracoRequestPaths.cs

* Update UmbracoRequestPaths.cs

* remove redundant check

---------

Co-authored-by: Michael <michael@crossingpaths.be>
2023-02-16 23:09:26 +01:00
Bjarke Berg 85436ee7c9 check out submodules too 2023-02-16 15:30:52 +01:00
Bjarke Berg 8f9c67ffee Handle static assets for the website directly in static assets project. These should not be build by the backoffice scripts as they are not owned by backoffice 2023-02-16 15:15:59 +01:00
Bjarke BergandGitHub d7ef924c32 Miniprofiler for v13 (#13841)
* Updated miniprofiler and added a few configurations

* added fixme

* Remove file that should not have been committed

* added ignore list. We check the entire path and ignore client requests anyway
2023-02-16 13:08:57 +01:00
Bjarke Berg a8b6eb714d Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2023-02-16 11:16:30 +01:00
Bjarke Berg 622c3b437b Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2023-02-16 10:08:19 +01:00
5182f46bdb New Backoffice: User Groups Controller (#13811)
* Add key to UserGroupDto

* Fix renaming table in sqlite

The SqliteSyntaxProvider needed an overload to use the correct query

* Start work on user group GUID migration

* Add key index to UserGroupDto

* Copy over data when migrating sqlite

* Make sqlite column migration work

* Remove PostMigrations

These should be replaced with Notification usage

* Remove outer scope from Upgrader

* Remove unececary null check

* Add marker base class for migrations

* Enable scopeless migrations

* Remove unnecessary state check

The final state of the migration is no longer necessarily the final state of the plan.

* Extend ExecutedMigrationPlan

* Ensure that MigrationPlanExecutor.Execute always returns a result.

* Always save final state, regardless of errors

* Remove obsolete Execute

* Add Umbraco specific migration notification

* Publish notification after umbraco migration

* Throw the exception that failed a migration after publishing notification

* Handle notification publishing in DatabaseBuilder

* Fix tests

* Remember to complete scope

* Clean up MigrationPlanExecutor

* Run each package migration in a separate scope

* Add PartialMigrationsTests

* Add unhappy path test

* Fix bug shown by test

* Move PartialMigrationsTests into the correct folder

* Comment out refresh cache in data type migration

Need to add this back again as a notification handler or something.

* Start working on a notification test

* Allow migrations to request a cache rebuild

* Set RebuildCache from MigrateDataTypeConfigurations

* Clean MigrationPlanExecutor

* Add comment explaining the need to partial migration success

* Fix tests

* Allow overriding DefinePlan of UmbracoPlan

This is needed to test the DatabaseBuilder

* Fix notification test

* Don't throw exception to be immediately re-caught

* Assert that scopes notification are always published

* Ensure that scopes are created when requested

* Make test classes internal.

It doesn't really matter, but this way it doesn't show up in intellisense

* Add notification handler for clearing cookies

* Add CompatibilitySuppressions

* Use unscoped migration for adding GUID to user group

* Make sqlite migration work

It's really not pretty, square peg, round hole.

* Don't re-enable foreign keys

This will happen automatically next time a connection is started.

* Scope database when using SQLServer

* Don't call complete transaction

* Tidy up a couple of comment

* Only allow scoping the database from UnscopedMigrationBase

* Fix comment

* Remove remark in UnscopedMigrationBase as it's no longer true

* Add keys when creating default user groups

* Map database value from DTO to entity

* Fix migration

Rename also renamed the foreign keys, making it not work

* Make migration idempotent

* Fix unit test

* Update CompatibilitySuppressions.xml

* Add GetUserGroupByKey to UserService

* Add ByKey endpoint

* Add UniqueId to AppendGroupBy

Otherwise MSSQL grenades

* Ensure that languages are returned by PerformGetByQuery

* add POC displaying model

* Clean up by key controller

* Add GetAllEndpoint

* Add delete endpoint

* Use GetKey to get GUID from id

Instead of pulling up the entire entity.

* Add UserGroup2Permission table

* Fetch the new permissions when getting user groups

* Dont ToString int to parse it to a short

I'm pretty sure this is some way old migration type code that doesn't make any sense anymore

* Add new relation to GetDeleteClauses

* Persist the permissions

* Split UserGroupViewModel into multiple models

This is to make it possible to make endpoints more rest-ish

* Bootstrap create and update endpoints

* Make GetAllUserGroupController paged

* Add method to create IUserGroup from UserGroupSaveModel

* Add sanity check version of endpoint

* Fix persisting permissions

* Map section aliases to the name the frontend expects

This is a temporary fix till we find out how we really want to handle this

* Fix up post merge

* Make naming more consistent

* Implement initial update endpoint

* Fix media start node

* Clean name for XSS when mapping to IUserGroup

* Use a set instead of a list for permission names

We don't want dupes

* Make permission column nvarchar max

* Add UserGroupOperationStatuses

* Add IUserGroupAuthorizationService

* Add specific user group creation method to user service

* Move validating and authorizing into its own methods

* Add operation result to action result mapping

* Update create controller to use the create method

* Fix create end point

* Comment out getting current user untill we have auth

* Add usergroup service

* Obsolete usergroup things from IUserService

* Add update to UserGroupService interface

* User IUserGroupService in controllers

* User async notifications overloads

* Move authorize user group creation into its own service

* Add AuthorizeUserGroupUpdate method

* Make new service implementations internal and sealed

* Add update user

* Add GetAll to usergroup service

* Remove or obsolete usages of GetAllUserGroups

* Add usergroup service to DI

* Remove usage of GetGroupsByAlias

* Remove usages of GetUserGroupByAlias

* Remove usage of GetUserGroupById

* Add new table when creating a new database

* Implement Delete

* Add skip and take to getall

* Move skip take into the service

* Fixup suggestions in user group service

* Fixup unit tests

* Allow admins to change user groups they're not a part of

* Add CompatibilitySuppressions

* Update openapi

* Uppdate OpenApi.json

again

* Add missing compatibility suppression

* Added missing type info in ProducesResponseTypeAttribute

* Added INamedEntityViewModel and added on the relevant view models

* Fixed bug, resulting in serialization not being the same as swagger reported. Now all types objects implementing an interface, is serialized with the $type property

* updated OpenApi.json

* Added missing title in notfound response

* Typo

* .Result to .GetAwaiter().GetResult()

* Update comment to mention it should be implemented on CurrentUserController

* Validate that start nodes actually exists

* Handle not found consistently

* Use iso codes instead of ids

* Update OpenAPI

* Automatically infer statuscode in problemdetails

* Ensure that the language exists

* Fix usergroup 2 permission index

* Validate that group name and alias is not too long

* Only return status from validation

We're just returning the same usergroups, and this is less boilerplate code

* Handle empty and null group names

* Remove group prefix from statuses

* Add some basic validation tests

* Don't allow updating a usergroup to having a duplicate alias

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-02-16 09:39:17 +01:00
Bjarke BergandGitHub c77c5cad3c Merge pull request #13840 from umbraco/v11/bugfix/build-pipeline
Removed path so we can generate templates
2023-02-16 09:28:59 +01:00
kjac 41fbaa2343 Merge branch 'v13/dev' into v13/feature/content-and-content-type-read-api 2023-02-16 09:27:35 +01:00
Andreas Zerbst 5c276c2d10 Removed path so we can generate templates 2023-02-16 09:18:14 +01:00
Sebastiaan Janssen b3235f1c0e Merge branch 'v11/dev' into contrib 2023-02-15 16:35:54 +01:00
kjac e0c396afd6 Rename PluginConfiguration to PackageManifest + a little more legacy manifest renaming 2023-02-15 15:17:50 +01:00
kjac d2ed03a5d8 Rename old manifest stuff to legacy manifest 2023-02-15 14:58:10 +01:00
Sebastiaan JanssenandGitHub 37b34aea11 Update up-for-grabs-response.yml 2023-02-15 14:29:28 +01:00
Sebastiaan JanssenandGitHub 09d15b5e30 Update pr-first-response.yml 2023-02-15 14:29:10 +01:00
Sebastiaan JanssenandGitHub 23cacf892f Update issues-first-response.yml 2023-02-15 14:28:42 +01:00
Bjarke Berg 808d563aa0 Merge remote-tracking branch 'origin/v12/dev' into v13/dev
# Conflicts:
#	src/Umbraco.Core/Models/PublishedContent/PublishedValueFallback.cs
2023-02-15 14:19:19 +01:00
Bjarke Berg 96c94f707a Merge remote-tracking branch 'origin/v11/dev' into v12/dev
# Conflicts:
#	src/Umbraco.Infrastructure/Migrations/Upgrade/UmbracoPlan.cs
2023-02-15 14:15:28 +01:00
Bjarke Berg 88a1c9eb57 Merge remote-tracking branch 'origin/v11/dev' into v11/dev 2023-02-15 14:10:43 +01:00
Bjarke Berg acbf937534 Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2023-02-15 14:10:30 +01:00
Bjarke Berg 776f5ce1a0 Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2023-02-15 14:06:39 +01:00
kjac 04ea016293 Merge branch 'v13/dev' into v13/feature/extension-model 2023-02-15 14:06:15 +01:00
Bjarke Berg 0204da1123 Merge remote-tracking branch 'origin/v11/dev' into v11/dev 2023-02-15 13:58:22 +01:00
Bjarke Berg 3ffe7f6d5d Fixed pipeline after dotnet sdk 7.0.200 2023-02-15 13:57:58 +01:00
Bjarke BergandGitHub bf4e745b6a Updated OpenIddict to v4 (#13830)
* Updated OpenIddict to v4 and when through the migration guide.

(SetAuthorizationEndpointUris and SetTokenEndpointUris should not start with a leading / anymore)

* Fixed issue where the old backoffice did not build

* Fixed build

* Fake a change - hopefully npm can see the file now?

* try using npm install instead of npm ci

* Another trial

* remove build of old backoffice

* Oops build new backoffice - not the old

* rollback changes to static assets

* Foreach csproj file instead. Fix for breaking change in dotnet sdk 7.0.200
2023-02-15 13:56:45 +01:00
tristanjthompsonandMichael Latouche e9f5b562ad Update JITOptimizerValidator error message. 2023-02-15 12:32:52 +01:00
kjac e4223ef2de Use async telemetry report in ReportSiteTask 2023-02-14 19:08:21 +01:00
kjac 4087f7805e Rename ExtensionManifest to PluginConfiguration 2023-02-14 16:59:08 +01:00
Jacob Overgaard a04ae368c8 update git submodule 2023-02-14 15:43:35 +01:00
kjac 92e53c236e Rename extension file to umbraco-package.json 2023-02-14 14:22:23 +01:00
kjac ba87025de8 Cache manifests in service layer 2023-02-14 11:39:56 +01:00
kjac bdffbb49ae Add async caching extension methods 2023-02-14 11:39:39 +01:00
kjac 341db24ec0 Rename manifest reader method 2023-02-14 10:52:30 +01:00
kjac 51f2b6cd88 Rename content property to content value in view model layer 2023-02-14 10:47:16 +01:00
45036f54dd Sort domains (Culture and Hostnames) (#13797)
* Add sort order to IDomain, UmbracoDomain and DomainDto

* Add migration to create domain sort order column

* Add Sort method to domain service

* Set sort order when persisting new domain and order results

* Add multiple and block style support to umb-button-group

* Allow sorting domains in back-office, improve UI and rewrite PostSaveLanguageAndDomains for correctly sorting domains

* Ensure routing and cache keeps the domain sort order

* Update test to assert correct domain order

* Move migration to target 11.3 and cleanup plan

* Fix formatting/styling and make SelectDomains private

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

---------

Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2023-02-14 10:35:45 +01:00
kjac 1868269905 Merge branch 'v13/dev' into v13/feature/content-and-content-type-read-api
# Conflicts:
#	src/Umbraco.Web.UI.New.Client
2023-02-14 10:33:51 +01:00
kjac bd61ac14e4 Add unit tests 2023-02-14 10:19:23 +01:00
Bjarke BergandGitHub 3e8247f324 add response location header for 201 (#13829)
* Fixed issues where we returned incorrectly 201 with CreatedResultViewModel

* Updated OpenAPI Spec

* Fixed OpenApi

* Added response header to swagger when 201 result

* Clean up
2023-02-14 09:48:09 +01:00
kjac b34f0280c5 Move System.Text.Json serializer to Infrastructure project 2023-02-14 07:03:25 +01:00
kjac eb0ec7bee8 Initial implementation for extension manifests 2023-02-13 19:03:58 +01:00
Kenn JacobsenandGitHub 620a673fa3 A little Monday cleanup (#13823)
* Introduce root key constant

* Do not enforce ProblemDetails on every non-success response from the API + remove invalid NotFoundResult response types from various endpoints

* Update OpenAPI JSON contract to reflect the new NotFound results
2023-02-13 15:16:21 +01:00
Ronald BarendseandGitHub 7348171c01 Add DefaultLanguage fallback policy for published values (#13814)
* Add DefaultLanguage fallback

* Implement DefaultLanguage fallback

* Add DefaultLanguage fallback test
2023-02-13 14:50:41 +01:00
Jacob Overgaard 233be8dc8f update git submodule 2023-02-13 10:07:25 +01:00
Jacob Overgaard 66118e556a update git submodule 2023-02-13 09:06:15 +01:00
Niels Lyngsø 89a3243771 latest front-end commit 2023-02-10 16:29:16 +01:00
Niels Lyngsø fb47b02ed0 latest commit 2023-02-10 16:27:35 +01:00
Niels Lyngsø 84c6d3b204 latest front-end commit 2023-02-10 16:23:35 +01:00
Niels Lyngsø b70491a782 front-end commit 2023-02-10 15:28:39 +01:00
Niels Lyngsø 5722108454 Merge remote-tracking branch 'origin/v13/dev' into v13/feature/content-and-content-type-read-api 2023-02-10 15:17:02 +01:00
Niels Lyngsø 72c5ec696d update submodule commit 2023-02-10 15:16:41 +01:00
50f19549b6 Add move/copy operations to datatype API (#13791)
* Add move/copy operations to datatype API

* Add compat suppressions for new interface methods

* Regenerate OpenAPI JSON

* Update OpenApi.json

* Ensure we can copy a datatype to root + make the target key nullable (explicit) for move and copy operation models

* Handle parent not found status

* Update the OpenAPI spec to reflect new nullability

* Cleanup

---------

Co-authored-by: Elitsa Marinovska <elm@umbraco.dk>
2023-02-10 15:11:49 +01:00
Jacob Overgaard 525d73d205 update git submodule 2023-02-10 11:25:37 +01:00
Kenn JacobsenandGitHub 36dc35f8aa Add "move" to dictionary API (#13810)
* Sanitize dictionary overview and export actions

* Amend dictionary services with async and attempt pattern + isolate temporary file handling in its own service.

* Update OpenAPI schema to match new dictionary bulk actions

* Implement move API for dictionary items.

* Add unit tests for dictionary item move

* Fix merge

* Update OpenAPI json after merge
2023-02-10 08:32:24 +01:00
Jacob Overgaard 42f8cde259 update to backoffice directory 2023-02-09 13:32:20 +01:00
Nikolaj bbc8ade227 Bump version 2023-02-09 08:25:01 +01:00
9b7bf81ad1 Serialization and deserialziation with polymorphism (#13762)
* Support polymophism when sending or receiving interfaces

* Handle attempts to deserialize interfaces nicer

* updated OpenApi.json

* Update src/Umbraco.Cms.Api.Common/Json/NamedSystemTextJsonInputFormatter.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Update src/Umbraco.Cms.Api.Management/ManagementApiComposer.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Update src/Umbraco.Cms.Api.Management/OpenApi/ConfigureUmbracoSwaggerGenOptions.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Update src/Umbraco.Infrastructure/Serialization/UmbracoJsonTypeInfoResolver.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Update src/Umbraco.Infrastructure/Serialization/UmbracoJsonTypeInfoResolver.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Update src/Umbraco.Infrastructure/Serialization/UmbracoJsonTypeInfoResolver.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Update src/Umbraco.Infrastructure/Serialization/UmbracoJsonTypeInfoResolver.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Update src/Umbraco.Infrastructure/Serialization/UmbracoJsonTypeInfoResolver.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Update src/Umbraco.Infrastructure/Serialization/UmbracoJsonTypeInfoResolver.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Update src/Umbraco.Infrastructure/Serialization/UmbracoJsonTypeInfoResolver.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Update src/Umbraco.Infrastructure/Serialization/UmbracoJsonTypeInfoResolver.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Invert to avoid nesting

* Updated OpenApi.json

* Update schema

---------

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
2023-02-08 18:29:30 +01:00
Elitsa MarinovskaandGitHub 20534b7a97 New Backoffice: Health check controller refactor (#13763)
* Refactor AllHealthCheckGroupController to return just the names of the groups + changes in the HealthCheckFactory

* Introduce a new "get by name without results" endpoint

* Create a "check" endpoint

* View models changes

* Factory renaming changes

* Remove Task.FromResult

* Update OpenApi.json

* Minor updates

* Inject HealthCheckCollection directly into the factory
2023-02-08 14:16:21 +01:00
fdf416550a Refactor dictionary bulk action APIs (#13786)
* Sanitize dictionary overview and export actions

* Amend dictionary services with async and attempt pattern + isolate temporary file handling in its own service.

* Update OpenAPI schema to match new dictionary bulk actions

* Update src/Umbraco.Cms.Api.Management/Services/DictionaryItemImportService.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Update src/Umbraco.Cms.Api.Management/Services/DictionaryItemImportService.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Update src/Umbraco.Cms.Api.Management/Services/TemporaryFileService.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Update src/Umbraco.Cms.Api.Management/ViewModels/Dictionary/DictionaryImportModel.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Refactor - split dictionary import handling into smaller methods

* Rename view model due to name clash in new SwaggerGen + update OpenAPI JSON file

---------

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
2023-02-08 13:18:08 +01:00
Sebastiaan Janssen 665328f01c Merge branch 'v11/dev' into contrib 2023-02-08 13:02:17 +01:00
Bjarke Berg b582bfa39b Merge remote-tracking branch 'origin/v13/dev' into v13/dev 2023-02-08 12:55:31 +01:00
280fbdd870 Remove special characters in avatar [part 2] (#13796)
* Update regex

* Update src/Umbraco.Web.UI.Client/src/common/directives/components/umbavatar.directive.js

Co-authored-by: Ronald Barendse <ronald@barend.se>

---------

Co-authored-by: Ronald Barendse <ronald@barend.se>
2023-02-08 12:47:46 +01:00
Bjarke Berg e5609592cd Merge remote-tracking branch 'origin/v12/dev' into v13/dev
# Conflicts:
#	src/Umbraco.Core/Models/ContentEditing/Language.cs
#	src/Umbraco.Core/Models/DictionaryItem.cs
#	src/Umbraco.Core/Models/DictionaryItemExtensions.cs
#	src/Umbraco.Core/Models/DictionaryTranslation.cs
#	src/Umbraco.Core/Models/IDictionaryTranslation.cs
#	src/Umbraco.Core/Models/Language.cs
#	src/Umbraco.Core/Models/Membership/ReadOnlyUserGroup.cs
#	src/Umbraco.Core/Models/Membership/UserGroupExtensions.cs
#	src/Umbraco.Core/Services/DataTypeService.cs
#	tests/Umbraco.Tests.Common/Builders/LanguageBuilder.cs
#	tests/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/Editors/UserEditorAuthorizationHelperTests.cs
2023-02-08 12:38:43 +01:00
Kenn JacobsenandGitHub 59448aeaac Add "Model" postfix for all models in the Swagger output (#13806) 2023-02-08 12:34:11 +01:00
Bjarke Berg 317891e8cf Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2023-02-08 12:28:32 +01:00
Bjarke Berg da4e9487e2 Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2023-02-08 12:28:03 +01:00
Jacob OvergaardandGitHub f3bcfcd5d9 v11: npm updates for february (#13803)
* update ace-builds from 1.14.0 to 1.15.0

* update eslint from 8.32.0 to 8.33.0

* update jsdom from 21.0.0 to 21.1.0

* update nouislider from 15.6.1 to 15.7.0
2023-02-08 09:58:40 +01:00
Nathan Woulfe b5e87a82f2 Merge branch 'v13/dev' of https://github.com/umbraco/umbraco-cms into v13/dev 2023-02-08 09:47:02 +10:00
Nathan Woulfe 41a03f4b8b uses correct constant for dictionary icon (needs to be added to uui icon registry) 2023-02-08 09:46:58 +10:00
Nikolaj GeisleandZeegaan 3d47cac9ac V10: fix content version cleanup dto migration (#13788)
* Add DoesPrimaryKeyExist method

* Add primary key name to dto

* Add extension method PrimaryKeyExists

* Dont use sql_master table

* Implement DoesPrimaryKeyExists

* Rename without plural s

* Refactor to get proper primary key name and not column name

* Use primary key name and not column name

* Dont filter tables in memory

* Remove .Where

* Don't select all, select only sql

* throw NotImplementedException by default

* USe virtual instead of abstract to avoid breaking change

* Reinstert primary key attribute

---------

Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-02-07 13:48:36 +01:00
Anders BrohusandMichael Latouche 559e56949f 2FA translations
Added and changed some translations about 2FA
2023-02-07 12:59:10 +01:00
6808a63e73 New backoffice: Add GUIDS to user groups (#13672)
* Add key to UserGroupDto

* Fix renaming table in sqlite

The SqliteSyntaxProvider needed an overload to use the correct query

* Start work on user group GUID migration

* Add key index to UserGroupDto

* Copy over data when migrating sqlite

* Make sqlite column migration work

* Remove PostMigrations

These should be replaced with Notification usage

* Remove outer scope from Upgrader

* Remove unececary null check

* Add marker base class for migrations

* Enable scopeless migrations

* Remove unnecessary state check

The final state of the migration is no longer necessarily the final state of the plan.

* Extend ExecutedMigrationPlan

* Ensure that MigrationPlanExecutor.Execute always returns a result.

* Always save final state, regardless of errors

* Remove obsolete Execute

* Add Umbraco specific migration notification

* Publish notification after umbraco migration

* Throw the exception that failed a migration after publishing notification

* Handle notification publishing in DatabaseBuilder

* Fix tests

* Remember to complete scope

* Clean up MigrationPlanExecutor

* Run each package migration in a separate scope

* Add PartialMigrationsTests

* Add unhappy path test

* Fix bug shown by test

* Move PartialMigrationsTests into the correct folder

* Comment out refresh cache in data type migration

Need to add this back again as a notification handler or something.

* Start working on a notification test

* Allow migrations to request a cache rebuild

* Set RebuildCache from MigrateDataTypeConfigurations

* Clean MigrationPlanExecutor

* Add comment explaining the need to partial migration success

* Fix tests

* Allow overriding DefinePlan of UmbracoPlan

This is needed to test the DatabaseBuilder

* Fix notification test

* Don't throw exception to be immediately re-caught

* Assert that scopes notification are always published

* Ensure that scopes are created when requested

* Make test classes internal.

It doesn't really matter, but this way it doesn't show up in intellisense

* Add notification handler for clearing cookies

* Add CompatibilitySuppressions

* Use unscoped migration for adding GUID to user group

* Make sqlite migration work

It's really not pretty, square peg, round hole.

* Don't re-enable foreign keys

This will happen automatically next time a connection is started.

* Scope database when using SQLServer

* Don't call complete transaction

* Tidy up a couple of comment

* Only allow scoping the database from UnscopedMigrationBase

* Fix comment

* Remove remark in UnscopedMigrationBase as it's no longer true

* Add keys when creating default user groups

* Map database value from DTO to entity

* Fix migration

Rename also renamed the foreign keys, making it not work

* Make migration idempotent

* Fix unit test

* Update CompatibilitySuppressions.xml

* Add UniqueId to AppendGroupBy

Otherwise MSSQL grenades

* Cleanup

* Update CompatibilitySuppressions

* Rename UniqueId to Key

* Cleanup

---------

Co-authored-by: Elitsa Marinovska <elm@umbraco.dk>
2023-02-07 08:30:33 +01:00
Bjarke BergandGitHub e3135bd97e Updated nuget dependencies (#13787) 2023-02-06 14:58:48 +01:00
Jacob OvergaardandGitHub 80112d88f4 V11: Fix for media library type dialog (#13780)
* let the server determine the type rather than assuming it is an image

this is especially useful for SVGs that would otherwise be uploaded as images instead of the more appropriate Vector Graphics default type

* do not start processing of the queue if a dialog is shown

return early if the dialog is shown (if _requestChooseMediaTypeDialog() does not immediately return false) because that means the user will pick the media type

* clean up of the scope for performance

remove 'handleFile' since it is not being used and make the other callbacks one-way bound since we are not changing them

* add jsdoc to improve understanding of the dropzone directive
2023-02-06 14:39:57 +01:00
Sebastiaan Janssen 74e2e58935 Merge branch 'contrib' into v11/dev 2023-02-06 14:35:47 +01:00
66f483e88c New backoffice: Obsolete ReadOnlyUserGroup constructor. (#13676)
* Obsolete old ReadOnlyUserGroup constructor

* Update src/Umbraco.Core/Models/Membership/ReadOnlyUserGroup.cs

Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>

---------

Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
2023-02-06 14:32:27 +01:00
Sebastiaan Janssen 75f16b79fb Merge branch 'v11/dev' into contrib 2023-02-06 14:29:48 +01:00
2f5726384d Mini-list view search by id,name & key is fixed. (#13735)
* Mini-list view search by id,name & key is fixed.
Added  multiple conditions in the query to consider id or name or key from the filter param(search bar from minilistview)

* make it more simple ,now using || instead of clause conditions.

---------

Co-authored-by: Dhanesh Kumar <dhanesh.kumar@phases.dk>
Co-authored-by: Michael <michael@crossingpaths.be>
2023-02-06 12:57:36 +01:00
Erik-Jan WestendorpandGitHub 371679b2e5 Remove special characters in avatar (#13766)
* Remove special characters

* Remove some chars not all
2023-02-06 12:40:28 +01:00
kjac ad1797eb41 Clean up + add proprety type appearance 2023-02-06 11:11:24 +01:00
Bjarke Berg 6d7b619d94 post merge 2023-02-06 10:18:15 +01:00
Bjarke Berg fe2d071fd5 Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2023-02-06 10:16:49 +01:00
kjac c88d00797a Add URLs and template data to document view model 2023-02-04 13:21:34 +01:00
kjac 0d7d8edaae Obsolete more ILocalizationService usage 2023-02-04 13:20:01 +01:00
kjac 8c2fa7274c Add the remaining properties to document type (minus list view info, still pending) 2023-02-04 12:03:43 +01:00
kjac 43c10a7fc0 Expose content type key on ContentTypeSort 2023-02-04 12:02:58 +01:00
Jacob OvergaardandGitHub 36cbcc36de add check for editorState.getCurrent to find the current editor (relevant in infinite editors), and throw a warning if an editor completely misses the current node context (#13778)
disable drag&drop entirely if the property editor did not get a node through bindings or editorState
2023-02-03 10:20:23 +01:00
kjac 54e76b74c4 Handle unpublished, non-variant content 2023-02-02 09:29:36 +01:00
kjac d04c50b988 Basic structure for document and document type read API 2023-02-01 15:35:38 +01:00
Andreas ZerbstandAndreas Zerbst fdd059fb2b Updated the ID of the locator in the test 'can set a minimum of required blocks in content with a block list editor' to match the correct ID. (#13769) 2023-02-01 15:21:33 +01:00
Andreas ZerbstandAndreas Zerbst 46742d125a Updated the ID of the locator in the test 'can set a minimum of required blocks in content with a block list editor' to match the correct ID. (#13769) 2023-02-01 15:19:23 +01:00
Andreas ZerbstandAndreas Zerbst eaf7994dca Updated the ID of the locator in the test 'can set a minimum of required blocks in content with a block list editor' to match the correct ID. (#13769) 2023-02-01 15:17:28 +01:00
Andreas ZerbstandAndreas Zerbst 8a5e553986 Updated the ID of the locator in the test 'can set a minimum of required blocks in content with a block list editor' to match the correct ID. (#13769) 2023-02-01 15:16:00 +01:00
Andreas ZerbstandGitHub b538318b5c V11/feature/block grid editor datatype tests (#13666)
* Added tests for the BlockGridEditorDataType

* Bumped versions

* Split the file into two, so we now have a file with the Blocks and one with the Configuration of the datatype

* Changed function variables to class variables.
Changed tests to use the ConstantHelpers
Changed naming
2023-02-01 15:11:18 +01:00
Sebastiaan Janssen 5e03f9bb4e Revert "IScopeProvider" is used from Umbraco.Cms.Infrastructure.Scoping"
This reverts commit 0907255931.
2023-02-01 14:01:29 +01:00
Andreas ZerbstandGitHub fca689b140 V11/feature/block grid editor document test (#13667)
* Added tests for BlockGridEditorInDocument

* Bumped version

* Updated naming
Removed unnecessary reload
2023-02-01 13:32:01 +01:00
70aa626991 Fix sln file for the new backoffice (#13765)
* Fix sln file and add README commands to get started

* expand the docs a bit

---------

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
2023-02-01 10:37:21 +01:00
Kenn JacobsenandGitHub 4453459f06 Obsolete language ID related properties and methods for V13 (#13753) 2023-02-01 09:37:43 +01:00
8caee5297b Use ISO codes instead of language IDs for fallback languages and translations (#13751)
* Use language ISO code for language fallback instead of language ID

* Remove language and language ID from dictionary item and dictionary item translation

* ADd unit test for dictionary item translation value extension

* Make the internal service implementations sealed

* Rename translation ISO code to be more explicit in its origin (Language)

* Add breaking changes suppression

* Handle save of invalid fallback iso code

* Fixed test

* Only allow non-UserCustomCulture's

* Fixed and added tests

* Rename ISO code validation method

* Fix language telemetry test (create Swedish with the correct ISO code)

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-02-01 09:37:37 +01:00
Kenn JacobsenandGitHub 641cae7fb5 Align the data type API (#13760)
* Make data type CRUD operations async using Attempt pattern

* Refactor data type container management to its own service + add unit tests for it

* Add compatability suppression for new interface methods and unit test changes
2023-02-01 08:38:36 +01:00
Jeroen BreuerandSebastiaan Janssen ff3d8c1c6c Make methods virtual so they can be redefined in derived classes. 2023-01-31 19:43:24 +01:00
dKumarmjandSebastiaan Janssen 0907255931 IScopeProvider" is used from Umbraco.Cms.Infrastructure.Scoping 2023-01-31 18:13:54 +01:00
Bjarke Berg e79198c990 Merge remote-tracking branch 'origin/v11/dev' into v11/dev 2023-01-31 12:58:48 +01:00
Bjarke Berg 11d393e419 Updated version number 2023-01-31 12:58:33 +01:00
Kenn JacobsenandGitHub ac8cfcf634 Align template API with dictionary API (#13714)
* Align the template services and API with the dictionary ones (use attempt pattern)

* A little controller clean-up

* Mimic old file service behavior, make unit tests happy

* Align CreateForContentTypeAsync return value with the rest of the TemplateService API

* Scaffold endpoint should no longer feature master templates

* Update the OpenAPI JSON
2023-01-31 12:20:46 +01:00
Ealse BoumaandSebastiaan Janssen 5c0673930a Changed default initialized button permissions for listviews 2023-01-31 11:14:20 +01:00
Sebastiaan Janssen 61685a459b Merge branch 'v11/dev' into contrib 2023-01-31 10:17:54 +01:00
417f31fba5 Send email notification on password reset (#13757)
Co-authored-by: Aleksander <alf@umrabco.dk>
2023-01-31 09:04:26 +01:00
Warren BuckleyandGitHub d38fabea4a Fixes #13715 Simple LogViewer queries not returning results (#13748)
* Fixes #13715 issue with simple logviewer searches

* Update Logviewer test - to ensure MessageLike and simple equivalent returns same result count to help catch
2023-01-30 10:32:28 +01:00
Bjarke Berg 5f8ef4cfff Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2023-01-30 08:02:44 +01:00
Bjarke Berg 432326cc20 Updated the BPlusTree package to reflect the update in the underlying package. 2023-01-30 08:01:54 +01:00
Marc GoodsonandMichael Latouche 23b03f408e Add .woff2 to BrowsableFileExtensions 2023-01-29 20:27:47 +01:00
Bjarke Berg cec613c0cc Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2023-01-27 09:50:35 +01:00
Bjarke Berg e94328ad57 Merge remote-tracking branch 'origin/v11/dev' into v11/dev 2023-01-27 09:50:06 +01:00
Bjarke Berg 700a33ac73 Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2023-01-27 09:49:47 +01:00
Jacob Overgaard 219940f523 update backoffice submodule 2023-01-27 09:08:55 +01:00
dependabot[bot]andJacob Overgaard d3b4bae1b5 Bump ua-parser-js from 0.7.31 to 0.7.33 in /src/Umbraco.Web.UI.Client
Bumps [ua-parser-js](https://github.com/faisalman/ua-parser-js) from 0.7.31 to 0.7.33.
- [Release notes](https://github.com/faisalman/ua-parser-js/releases)
- [Changelog](https://github.com/faisalman/ua-parser-js/blob/master/changelog.md)
- [Commits](https://github.com/faisalman/ua-parser-js/compare/0.7.31...0.7.33)

---
updated-dependencies:
- dependency-name: ua-parser-js
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-27 08:56:52 +01:00
Sebastiaan Janssen 33adbf41fa Update contributing docs with the correct branch name 2023-01-26 15:38:54 +01:00
Sebastiaan Janssen 3a7624c385 Merge branch 'v11/dev' into v11/contrib 2023-01-26 15:31:39 +01:00
Kenn JacobsenandGitHub 0297152249 Split localization service into dedicated services (#13731)
* Rework language service and API

* Revert unintended commit of Directory.Build.props

* Create OS conditional test for invalid ISO codes

* Reintroduce and obsolete old Delete method on ILocalizationService + make new Delete method delete by ISO code + add obsoletion attrs to service implementation

* Review comments + utilize new Delete method

* Do not allow model reuse when creating a new language

* Fix bad merge

* Split localization service into dedicated services for language and dictionary item handling

* Replaced ILocalizationService usage in management API (as much as can be done for now)

* Ensure we can create dictionary items with explicit keys (but no duplicates)

* Fix culture controller so it works properly with pagination

* Update OpenAPI JSON

* Actually update the language being updated...

* Unit test for invalid ISO now no longer needs to differ between OS :)

* A little bit of code health improvements

* A litte less code duplication

* Remove duplicate validation
2023-01-26 13:34:11 +01:00
c868c60ed2 V11: Fix decimal variants (#13741)
* fix sqlite with variants

* Create and register SqlSpecificMapper

* Delete obsolete file

* Add back inheritance

Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-01-26 12:26:06 +01:00
aa90efa5b7 New Backoffice: Log viewer controller (#13648)
* Fixing a few nullable reference types for log viewer (#13634)

(cherry picked from commit b4ca2a6636)

* Adding LogControllerBase

* Migrating GetLogLevels()

* Migrating GetNumberOfErrors()

* Migrating GetLogLevelCounts()

* Migrating GetCanViewLogs()

* Migrating GetMessageTemplates()

* Migrating GetLogs()

* Migrating GetSavedSearches()

* Migrating PostSavedSearch()

* Migrating DeleteSavedSearch()

* Adding LoggerViewModel

* Adding LogViewModelMapDefinition

* Update OpenApi.json

* Cleanup

* V12: Change nullability for the log searches (#13647)

* Changing nullability

* Obsolete DeleteSavedSearch since the query param is not used

* Fix a bit more referenced

* Add default implementation for the new overload of DeleteSavedSearch

(cherry picked from commit 5e06f5a8a0)

* Updates based on nullability fix

* Adding GetSavedSearchByName

* Implementing ByName endpoint

* Refactoring Delete endpoint based on GetSavedSearchByName

* Refactoring Create endpoint to return the item's location

* Suppress new GetSavedSearchByName in ILogViewer interfaces

* Update OpenApi.json

* Adding github initials to FIXME

* Renaming

* Moving files to Core proj

* Adding GetLogs with skip and take

* Introducing ILogViewerService

* Supressing xml for ILogViewer.GetLogsAsPagedModel()

* Changing to our own Enum representation of LogLevel

* Creating ILogEntry needed for GetPagedLogs()

* Refactoring controllers to use the new logViewerService

* Removing base class methods since those have been moved to the new service

* Removing ErrorCountLogViewerController since the result can be calculated from another endpoint

* Refactoring the MapDefinition because of the new return types from the service

* Update OpenApi.json

* Obsoleting old methods in favor of the ILogViewerService

* Cleanup

* Fixing enum representation as strings for Swagger

* Adding documentation

* Changing enum representation to string in OpenApi.OpenApi.json

* Fix FIXME (use CreatedAtAction)

* Removing JsonStringEnumConverter as there should be another way to fix enum representation for Swagger

* Removing MappingBuilderExtensions and making specific LogViewerBuilderExtensions

* Changes to the .sln file

* Take only the result in the response

* Register the LogViewer extensions

* Update OpenApi.json

* Fix the supressions.xml

* Add inheritdoc

* Remove GetSavedSearchByName as it isn't necessary to introduce it anymore

* Obsolete interfaces

* Rename ViewPermission controller to ValidateLogFileSize

* Make rest of the methods async

* Route name change

* Remove methods obsoletion

* Introduce the "attempt" pattern

* Refactoring of ILogViewerService

* Refactoring controllers

* Another OpenApi.json update

* Adding fixme

* Re-add new client project

Co-authored-by: nikolajlauridsen <nikolajlauridsen@protonmail.ch>
2023-01-25 11:53:42 +01:00
Bjarke Berg 0fd90c1294 Merge remote-tracking branch 'origin/v12/dev' into v13/dev 2023-01-24 12:04:01 +01:00
Bjarke Berg d180247915 Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2023-01-24 12:02:09 +01:00
Bjarke Berg be0138e526 Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2023-01-24 11:56:32 +01:00
Bjarne FyrstenborgandGitHub 14af1aea9b Ensure to reset padding and border as well for textarea in richtext (#13012) 2023-01-24 09:18:54 +01:00
MoleandGitHub 17248ce494 V11: Add improved log message on compilation failure using InMemoryAuto (#13678)
* Add improved log message when in memory compilation fails.

* Move LogCompilationFailure into its own method

And hopefully make codescene happeh

* Reduce nesting

* Replace null check with linq
2023-01-23 08:19:15 +01:00
Kenn JacobsenandGitHub ff2d90d775 Rework dictionary CRUD operations (#13688)
* Rework dictionary CRUD operations

* Update OpenAPI json

* Move responsibility to localization service, introduce new attempt pattern for create and update operations, update unit tests accordingly

* Fix merge

* Rollback assumption that we can map entities from scratch (entity relations got in the way)

* Update OpenAPI JSON

* Add breakage supressions

* Add compat suppressions for integration test project

* Make dictionary item deletion follow same pattern as create and update

* Review comments + update delete to use new pattern

* Update breakage suppressions to match the new Delete method
2023-01-20 13:40:24 +01:00
Jacob OvergaardandGitHub 7aee15d6d1 V11: Prevalues as toggles have problems in datatype settings view (#13709)
* format preValues with DataTypeHelper.createPreValuesProps before rendering so they have the 'alias' prop used for input-id to umb-toggle

* preValues are now formatted on fetch so we do not need to do it again
2023-01-20 08:13:37 +01:00
Jacob Overgaard a8acefcaba introduce lint option for gulp so we only lint when building and not watching, which makes dev, watch and fastdev even faster 2023-01-19 12:56:55 +01:00
Jacob OvergaardandGitHub b97dd46608 V11: fix issue where editing a macro was not possible (#13702)
* remove the onSetup for the macro button since we want to always be able to interact with the macro button (either insert or edit)

* let the onAction method find the currently selected macro by asking the active editor for its selection instead of relying on the NodeChanged event
2023-01-19 11:02:33 +01:00
Bjarke Berg 4be798ddfb Merge remote-tracking branch 'origin/v12/dev' into v13/dev
# Conflicts:
#	src/Umbraco.Infrastructure/Install/PackageMigrationRunner.cs
#	src/Umbraco.Infrastructure/Migrations/IMigrationContext.cs
#	src/Umbraco.Infrastructure/Migrations/IMigrationPlanExecutor.cs
#	src/Umbraco.Infrastructure/Migrations/Install/DatabaseBuilder.cs
#	src/Umbraco.Infrastructure/Migrations/MigrationContext.cs
#	src/Umbraco.Infrastructure/Migrations/MigrationPlan.cs
#	src/Umbraco.Infrastructure/Migrations/MigrationPlanExecutor.cs
#	src/Umbraco.Infrastructure/Migrations/PostMigrations/ClearCsrfCookies.cs
#	src/Umbraco.Infrastructure/Migrations/PostMigrations/DeleteLogViewerQueryFile.cs
#	src/Umbraco.Infrastructure/Migrations/PostMigrations/RebuildPublishedSnapshot.cs
#	src/Umbraco.Infrastructure/Migrations/Upgrade/Upgrader.cs
#	src/Umbraco.Web.BackOffice/Controllers/MacroRenderingController.cs
#	tests/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/Migrations/MigrationPlanTests.cs
#	tests/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/Migrations/PostMigrationTests.cs
2023-01-19 10:43:07 +01:00
Bjarke Berg 4c62fcfb98 Merge remote-tracking branch 'origin/v11/dev' into v12/dev
# Conflicts:
#	src/Umbraco.Infrastructure/Migrations/Upgrade/UmbracoPlan.cs
2023-01-19 09:52:41 +01:00
Bjarke Berg 8c22de0bad Merge remote-tracking branch 'origin/v11/dev' into v11/dev 2023-01-19 09:50:54 +01:00
Bjarke Berg 1b88e0a7a1 Merge remote-tracking branch 'origin/v10/dev' into v11/dev
# Conflicts:
#	src/Umbraco.Infrastructure/Migrations/Upgrade/UmbracoPlan.cs
#	version.json
2023-01-19 09:41:00 +01:00
Jacob OvergaardandGitHub f23ebaefa6 v11: javascript dependency updates (UUI, TinyMCE, jQuery, signalR, and more) (#13696)
* build(deps-dev): update development dependencies

* update the Umbraco UI library to 1.1.0

* update ace editor to 1.14.0

* update diff to 5.1.0

* update jquery to 3.6.3

* update tinymce to 6.3.1

* update underscore to 1.13.6

* update @microsoft/signalr to 7.0.2
2023-01-19 09:39:57 +01:00
Bjarke Berg 2dd38f8393 Merge remote-tracking branch 'origin/v11/contrib' into v11/dev 2023-01-19 09:32:04 +01:00
MoleandGitHub 46049bfd74 Obsolete things broken in migrations refactor (#13658)
* Obsolete chings changed in v13

* Fix tests

* Obsolete Execute and add ExecutePlan with default implementation.

This just calls the old implementation and creates an ExecutedMigrationPlan from the result

In V13 this has its own implementation.

* Mention notification in obsolete message
2023-01-19 09:27:33 +01:00
Jacob OvergaardandGitHub 0d4d3ce33c add workaround for line-height issues with tinymce (#13700)
based on this upstream issue: https://github.com/tinymce/tinymce/issues/6431
2023-01-19 09:26:00 +01:00
Jacob OvergaardandGitHub cfdc4a9573 add the s html element to allow list for TinyMCE (#13697)
Fixes #13637
2023-01-19 09:25:44 +01:00
8fdb5a55ea Updating german translation (#13684)
* updating german translations

* translating missing sections

* added missing closing tag

Co-authored-by: Michael <michael@crossingpaths.be>
2023-01-19 00:19:13 +01:00
9c00c95f01 v13: New Backoffice in CMS (POC) (#13664)
* Added a new executeable to new backoffice

* add new backoffice client as submodule

* add new backoffice client as project

* add bootstrap of backoffice client

* experimentally allow CORS from local vite app running the backoffice

* fix base path

* move new backoffice projects to NewBackoffice folder

* add support for redirect urls to login page (temporary)

* update references to v13

* override databaseinstall/index.cshtml

* copy ignore lines from normal project

* remove redirect to AuthorizeUpgrade

* codeql: checkout submodules

* Section catch-all route

* fixed tests

* remove starter-kit file

* remove grid views

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-01-18 15:02:59 +01:00
Kenn JacobsenandGitHub 4640a317b8 Support non-nullable reference types in OpenAPI doc (#13685)
* Refactored ManagementApiComposer into several extension classes

* ADd support for non-nullable reference types in OpenAPI doc

* Update OpenAPI JSON to reflect new (lack of) nullability

* Don't add factories twice :)

* Rework composing + move backoffice route detection for management API to core
2023-01-18 13:11:42 +01:00
Elitsa MarinovskaandGitHub 2c8927c2e9 Rename old FIXME to TODO (#13646)
* Rename old FIXME to TODO, so we can track new FIXME starting v13

* Remove empty TODO
2023-01-18 12:28:54 +01:00
Kenn JacobsenandGitHub de8e307295 Add "is trashed" data for content and media tree controllers (#13687) 2023-01-17 14:04:22 +01:00
Kenn JacobsenandGitHub 25f66e7413 Turn the indexer health status into an enum + rearrange the view models according to controller namespaces (#13686) 2023-01-17 14:04:13 +01:00
13fb2a4f52 New Backoffice: Refactor migrations to allow for unscoped migrations (#13654)
* Remove PostMigrations

These should be replaced with Notification usage

* Remove outer scope from Upgrader

* Remove unececary null check

* Add marker base class for migrations

* Enable scopeless migrations

* Remove unnecessary state check

The final state of the migration is no longer necessarily the final state of the plan.

* Extend ExecutedMigrationPlan

* Ensure that MigrationPlanExecutor.Execute always returns a result.

* Always save final state, regardless of errors

* Remove obsolete Execute

* Add Umbraco specific migration notification

* Publish notification after umbraco migration

* Throw the exception that failed a migration after publishing notification

* Handle notification publishing in DatabaseBuilder

* Fix tests

* Remember to complete scope

* Clean up MigrationPlanExecutor

* Run each package migration in a separate scope

* Add PartialMigrationsTests

* Add unhappy path test

* Fix bug shown by test

* Move PartialMigrationsTests into the correct folder

* Comment out refresh cache in data type migration

Need to add this back again as a notification handler or something.

* Start working on a notification test

* Allow migrations to request a cache rebuild

* Set RebuildCache from MigrateDataTypeConfigurations

* Clean MigrationPlanExecutor

* Add comment explaining the need to partial migration success

* Fix tests

* Allow overriding DefinePlan of UmbracoPlan

This is needed to test the DatabaseBuilder

* Fix notification test

* Don't throw exception to be immediately re-caught

* Assert that scopes notification are always published

* Ensure that scopes are created when requested

* Make test classes internal.

It doesn't really matter, but this way it doesn't show up in intellisense

* Add notification handler for clearing cookies

* Add CompatibilitySuppressions

* Rename Execute to ExecutePlan

We have to do this to be able to obsolete :(

* Update CompatibilitySuppressions

* Update src/Umbraco.Infrastructure/Migrations/MigrationPlanExecutor.cs

Co-authored-by: Bjarke Berg <mail@bergmania.dk>

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-01-16 14:52:51 +01:00
Mike MaseyandMichael Latouche 3ebd15b67e fix: move list view selection options to after list in focus order 2023-01-15 22:42:48 +01:00
Bjarne FyrstenborgandMichael Latouche eb9f9c68dd Add separator before reload node in Media Types tree 2023-01-15 21:56:18 +01:00
ustadstarandMichael Latouche fd992f65bb Fix copy content with descendants not copying sort order (#13464) 2023-01-13 01:30:48 +01:00
Kenn JacobsenandGitHub 8463d906a7 Make sure the property editor layout is contained within its container (prevent Z-index bleed-through) (#13583) 2023-01-12 10:55:02 +01:00
Nikolaj 314f79bd07 Bump version 2023-01-11 15:39:26 +01:00
Nikolaj 1438b0a731 Merge branch 'release/11.1' into v11/dev 2023-01-11 15:38:45 +01:00
01224fce89 Template API for new backoffice (#13642)
* Template query builder API

* Create a dedicated template service (copy template operations from file service)

* CRUD API for templates

* Make file service consume the template service (remove duplicated code)

* Use the template service in the old template controller so we can track changes better (note: this is breaking, but it doesn't matter as the controller will be deleted)

* Add scaffolding to the template API

* Make the route differ between query settings and execution

* Get rid of ugly string constants

* Refactor query execution a little to improve code health

* Fix build checks (compat)

* Deduce the master template from the template contents

* Make template service async, move master template parsing into template service

* Fix open API test

* Make sure the unit tests use new template parsing

* Add FIXME for SetMasterTemplate

* added obsolete attributes

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2023-01-11 14:40:41 +01:00
Nikolaj bad914842a Bump version 2023-01-11 10:25:31 +01:00
Andy ButlandandNikolaj a91c81ee56 Changed healthcheck collection configuration to use a concrete type to ensure configuration settings are bound. 2023-01-11 10:22:39 +01:00
Elitsa MarinovskaandGitHub 5e06f5a8a0 V12: Change nullability for the log searches (#13647)
* Changing nullability

* Obsolete DeleteSavedSearch since the query param is not used

* Fix a bit more referenced

* Add default implementation for the new overload of DeleteSavedSearch
2023-01-09 14:16:16 +01:00
c81918c9ee Return true if connectionstring configured (#13640)
Signed-off-by: Zeegaan <nge@umbraco.dk>

Signed-off-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Zeegaan <nge@umbraco.dk>
2023-01-09 08:53:31 +01:00
Bjarne FyrstenborgandGitHub 3e415b242f Hide colors from icon picker (#13079)
* Ensure border is set so it doesn't jump on selection

* Allow to hide color from icon picker

* Use CSS grid instead to fill icons and with minimum width

* Remove odd flex size

* Set minimum to 60px instead
2023-01-07 03:15:51 +01:00
Bjarke Berg 46798c42b5 Merge remote-tracking branch 'origin/v11/dev' into v11/contrib 2023-01-06 13:52:29 +01:00
Bjarke Berg 08c1708730 Merge remote-tracking branch 'origin/v12/dev' into v13/dev
# Conflicts:
#	src/Umbraco.Cms.Api.Management/Controllers/ManagementApiControllerBase.cs
2023-01-06 10:30:58 +01:00
Bjarke Berg 84d78e1393 Merge 2023-01-06 10:14:59 +01:00
c44fa56661 New backoffice: Data type API (#13633)
* Add PropertyEditorUiAlias to datatype incl. migration for persistence

* Add configuration validation

* Folder CRUD (reusable for other folder trees) + datatype delete + more RESTish response from datatype create and update

* API for datatype references

* Clean up response types, swagger metadata and fix OpenAPI test

* Allow breakage in the build

* Use yield return pattern

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

* Fix incorrect return type from references API

Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2023-01-06 08:45:06 +01:00
Bjarke Berg 6d8a3c550f Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2023-01-06 08:44:50 +01:00
Erik-Jan WestendorpandMichael Latouche 045c755ccf Translate dictionary area 2023-01-06 02:48:26 +01:00
dependabot[bot]andJacob Overgaard 591c78ae0c Bump decode-uri-component in /src/Umbraco.Web.UI.Client
Bumps [decode-uri-component](https://github.com/SamVerschueren/decode-uri-component) from 0.2.0 to 0.2.2.
- [Release notes](https://github.com/SamVerschueren/decode-uri-component/releases)
- [Commits](https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.2)

---
updated-dependencies:
- dependency-name: decode-uri-component
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-05 11:10:19 +01:00
dependabot[bot]andJacob Overgaard 3ddb6e6832 Bump json5 from 2.2.1 to 2.2.3 in /src/Umbraco.Web.UI.Client
Bumps [json5](https://github.com/json5/json5) from 2.2.1 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.2.1...v2.2.3)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-05 11:09:10 +01:00
Bjarke Berg a1a4f288cd Merge remote-tracking branch 'origin/v11/dev' into v11/contrib 2023-01-05 10:29:30 +01:00
Mykola GorbatenkoandMichael Latouche b52a4363c4 added Ukrainian language 2023-01-05 03:32:52 +01:00
Vitor RodriguesandGitHub 7d9bb8f595 Exposed media file provider configuration method (#13294)
This is required for consumers that intend to use WithCustomMiddleware instead of WithMiddleware, as otherwise they are forced to re-implement this code
2023-01-04 10:23:16 +01:00
Elitsa MarinovskaandGitHub b4ca2a6636 Fixing a few nullable reference types for log viewer (#13634) 2023-01-04 09:24:43 +01:00
Kenn JacobsenandGitHub d1fd1f16fd Move resources and implementations for System.Text.Json for reuse across projects (#13626)
* Moved resources and implementations for System.Text.Json for reuse across projects.

* Move MvcBuilderExtensions as well
2023-01-03 15:34:23 +01:00
CyberReiterandMichael Latouche b7a26360e5 minor improvements to indexing performance 2023-01-02 01:26:25 +01:00
Robert FosterandGitHub e7a986b1c3 fix for #13623 by hiding Member Edit Action Menu on Infinite editing … (#13624)
* fix for #13623 by hiding Member Edit Action Menu on Infinite editing for consistency

* added missing attribute to umb-editor-header for Member editing
2022-12-31 03:51:33 +01:00
MehmetandGitHub 59c5226d68 Rename title marketplace to packages (#13625) 2022-12-30 13:29:51 +01:00
dc46b649f7 fixes data-element attribute on media section (#13621)
* fixes data-element attribute on media section

* Revert "fixes data-element attribute on media section"

This reverts commit 2a35c9fbed.

* use property alias on members umb-property

Co-authored-by: Mario Lopez <mario@luminary.com>
2022-12-28 08:50:37 +01:00
Calvin DavisandMichael Latouche 4fbb0805e8 Add margin-right to block card name and subname 2022-12-26 02:55:14 +01:00
Kenn JacobsenandGitHub a8f070d834 Datatype configuration refactor (#13605)
* Moved refactor from V12 based branch

* Remove obsolete config property to avoid obsoletion warnings

* Clean up test models

* Make the datatype API a little less confusing by introducing explicit models for create and update

* Remame "Configuration" to "Data" to make FE happy :)

* Safeguard deserialization of empty configs

* Less strict number handling for deserialization

* Prepare for data type config migrations

* Attempt to have contextual config serializers

* Update OpenAPI spec with (temporary) data type controller

* Fix unit tests

* Update compat suppressions (allow breakage for datatype and configuration editor)

* Make the duplicate JsonObjectConverter implementation private
2022-12-21 14:29:59 +01:00
Nikolaj 2b72df09bb Merge branch 'release/11.1' into v11/dev 2022-12-21 13:54:29 +01:00
f37c02ea79 V10: Dont disable invited users (#13600)
* Dont allow disable user when invited

* Use data instead of selection

* return succesfully disabled users

* Disable disable button when invited

* Add integration tests

* Remove unused usings

* Update src/Umbraco.Web.BackOffice/Controllers/UsersController.cs

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

* Create DisabledUsersModel

* use data.disabledUsers

* Return OK if no users to be saved

* User disabledUsersModel

Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
2022-12-21 10:07:11 +01:00
Bjarke Berg a1ef0903c9 Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2022-12-20 10:20:44 +01:00
Bjarke Berg 03e00cbed2 Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2022-12-20 10:19:36 +01:00
Bjarke Berg 9c087f584d Fixed build warnings in ManagementApi 2022-12-20 08:53:37 +01:00
Ronald BarendseandBjarke Berg 832e44cb01 Also fix GetBackOfficeUrl in UrlHelperExtensions 2022-12-20 08:31:37 +01:00
Ronald BarendseandBjarke Berg 58da7f754b Rename fixed extension method to GetUmbracoBackOfficeUrl and obsolete old one 2022-12-20 08:31:37 +01:00
Ronald BarendseandBjarke Berg 751c1883ce Fix GetBackOfficeUrl extension method 2022-12-20 08:31:37 +01:00
Bjarke BergandGitHub 1332ba51e8 Merge pull request #13599 from umbraco/v11/bugfix/getbackofficeurl
Add `GetUmbracoBackOfficeUrl` extension methods
2022-12-20 08:30:45 +01:00
Bjarke Berg e375ab4b1b Added new ContentAndWebRootFileProviderFactory and use that for IManifestFileProviderFactory, so manifests can be found in /app_plugins folder too (#13597)
Fixes https://github.com/umbraco/Umbraco-CMS/issues/13565
2022-12-20 08:10:47 +01:00
Bjarke BergandGitHub 6430c61ee9 Added new ContentAndWebRootFileProviderFactory and use that for IManifestFileProviderFactory, so manifests can be found in /app_plugins folder too (#13597)
Fixes https://github.com/umbraco/Umbraco-CMS/issues/13565
2022-12-20 07:00:07 +01:00
Elitsa MarinovskaandGitHub fef793326f New Backoffice: Health check controller (#13543)
* Adding health check controllers - getAll & getGroupByName

* Adding HealthCheckGroup mapper

* Adding viewModels

* Adding a factory for building a health check group with result view model

* Registering the mapper and factory

* Updating OpenApi.json

* Remove unnecessary checks - we instantiate the target before calling the Map()

* Adding ProducesResponseType for GetAll()

* Fixing usings

* Making checks required for a health check group

* Adding OK() around result to be explicit

* Adding default values to skip and take

* Adding Umbraco.Code comments

* Removing ? from HealthCheckGroupWithResultViewModel return type

* Move the grouping creation to the factory

* Adding Actions[] for each health check + mapping

* Defaulting ValueRequired to false

* Refactoring routes - from health-check to health-check-group

* Move to HealthCheckGroup folder

* Fix OpenApi.json

* Changing class name and making Key of HealthCheckActionViewModel non-nullable

* Fixing namespace

* Migrating ExecuteAction endpoint

* Add execute-action endpoint to OpenApi.json

* Use Task.FromResult() around the action result

* Fixing namespaces and swagger group name

* Fixing naming of the key in the health check action

* Fix tag names in OpenApi.json
2022-12-19 13:50:18 +01:00
Ronald Barendse 532636cdbe Also fix GetBackOfficeUrl in UrlHelperExtensions 2022-12-19 12:04:35 +01:00
Ronald Barendse 900dd22277 Rename fixed extension method to GetUmbracoBackOfficeUrl and obsolete old one 2022-12-19 11:52:48 +01:00
Ronald Barendse b457734f18 Fix GetBackOfficeUrl extension method 2022-12-19 11:31:18 +01:00
Bjarne FyrstenborgandMichael Latouche 05a511a16c Only show rollback button if allowed action 2022-12-18 01:26:04 +01:00
Kenn Jacobsenandnikolajlauridsen d173a99fc8 Support space (and more) in tag groups (#13589) 2022-12-16 14:24:51 +01:00
nikolajlauridsen 6835436ed5 Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2022-12-16 14:24:17 +01:00
Kenn Jacobsenandnikolajlauridsen a5a80fdd41 Multi URL picker improvements for V11 (#13586)
* Use bulk lookup to find URLs for multi URL picker items

* Make sure URLs and anchors are loaded correctly when no culture is supplied
2022-12-16 13:07:40 +01:00
Kenn JacobsenandGitHub aee1d70f64 Multi URL picker improvements for V11 (#13586)
* Use bulk lookup to find URLs for multi URL picker items

* Make sure URLs and anchors are loaded correctly when no culture is supplied
2022-12-16 13:06:27 +01:00
Kenn Jacobsenandnikolajlauridsen a897e3bdd3 Improved support for TinyMCE custom style formats (#13582) 2022-12-16 12:42:50 +01:00
Kenn JacobsenandGitHub 7b0f678c38 Improved support for TinyMCE custom style formats (#13582) 2022-12-16 12:41:19 +01:00
Ronald BarendseandElitsa Marinovska 48f4d8b7d1 Set redirect URL when building model (#12969)
Co-authored-by: Elitsa Marinovska <elm@umbraco.dk>
(cherry picked from commit 544cb30602)
2022-12-16 11:25:00 +01:00
544cb30602 Set redirect URL when building model (#12969)
Co-authored-by: Elitsa Marinovska <elm@umbraco.dk>
2022-12-16 11:17:56 +01:00
Nikolaj adfc38503c Upgrade BPlusTree dependency 2022-12-15 14:06:59 +01:00
Nikolaj e86b90faff Merge branch 'v11/dev' into v12/dev 2022-12-15 14:03:22 +01:00
Nikolaj 0234c5b637 Roll back BPlusTree dependency 2022-12-15 13:56:57 +01:00
Bjarke Berg ace43452e4 Merge remote-tracking branch 'origin/v11/dev' into v11/dev 2022-12-15 10:36:23 +01:00
Bjarke Berg 6f4b60c76c Updated Nuget packages 2022-12-15 10:36:13 +01:00
MoleandGitHub 0b04ae76da New backoffice: Redirect Url Management controller (#13572)
* Add status endpoint

* Refactor GetStatus to use a factory for the viewmodel

* Move controllers to correct namespace

* Add response type to GetStatus

* Create query endpoint

* Create GetAll endpoint

* Add by key

* Add delete by key

* Rename enabled controller

* Add SetEnabled endpoint

* Update OpenApi.json

* Replace query endpoint with a optional filter parameter

* Use enum to enabled and disable url tracking

* Update OpenApi.json

* Add bad request response type to GetAll endpoint
2022-12-15 10:04:44 +01:00
Nikolaj 2bab96fb85 Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2022-12-15 09:56:28 +01:00
Nikolaj 1c2b5d34fd Merge remote-tracking branch 'origin/v10/dev' into v11/dev
# Conflicts:
#	src/Umbraco.Core/EmbeddedResources/Lang/en.xml
#	src/Umbraco.Core/EmbeddedResources/Lang/en_us.xml
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/blockgrid/prevalue/blockgrid.blockconfiguration.controller.js
2022-12-15 09:32:03 +01:00
Bjarke Berg aec88e8418 Merge remote-tracking branch 'origin/v11/dev' into v12/dev 2022-12-14 09:11:30 +01:00
Bjarke Berg cec87e400f post merge fix 2022-12-14 09:09:20 +01:00
Bjarke Berg fd974a416c Merge remote-tracking branch 'origin/v10/dev' into v11/dev
# Conflicts:
#	src/Umbraco.Web.UI.Client/src/views/packages/views/repo.html
#	tests/Umbraco.Tests.UnitTests/Umbraco.Web.Common/Routing/InstallAreaRoutesTests.cs
2022-12-14 08:51:45 +01:00
c4b83972bc Map AdditionalData (#13567)
* Map AdditionalData

Signed-off-by: Zeegaan <nge@umbraco.dk>

* Re-implement private setter

* Remove obsolete MapAll condition

Signed-off-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Zeegaan <nge@umbraco.dk>
2022-12-13 15:04:39 +01:00
Bjarke BergandGitHub 76c99772a0 Merge pull request #13571 from umbraco/v11/feature/loggingsettingsextensions
Change `GetAbsoluteLoggingPath` to extension method
2022-12-13 10:28:27 +01:00
Sebastiaan Janssen d5e1c7398f Disable healthChecks test for now as it has different results on the build server versus local machine 2022-12-13 09:13:36 +01:00
Ronald Barendse a49151f552 Change GetAbsoluteLoggingPath to extension method 2022-12-13 09:11:59 +01:00
Sebastiaan Janssen ca8f84f254 Simplify healthcheck button selector 2022-12-12 18:33:50 +01:00
Sebastiaan Janssen 2e4db50781 Fix wrong expectation in the security health checks 2022-12-12 16:58:56 +01:00
Sebastiaan Janssen b366b26f19 Fix failing integration test (runtime mode was added to system info) 2022-12-12 15:48:36 +01:00
Kenn JacobsenandGitHub e397ac9011 REST-ify dictionary and language controllers (#13531)
* Update signatures to always return ActionResult<> or IActionResult

* Make a few endpoints more RESTish

* Update OpenAPI json
2022-12-12 15:03:36 +01:00
1fd4ed1de7 V12: Named json options (#13537)
* Introduce named JSON options for specific input/output JSON formatting

* Handle empty objects

* Remove obsolete attributes

* Update src/Umbraco.Cms.Api.Management/DependencyInjection/MvcBuilderExtensions.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Add constant for Backoffice NamedJsonOptions

Co-authored-by: kjac <kja@umbraco.dk>
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
Co-authored-by: Zeegaan <nge@umbraco.dk>
2022-12-12 14:15:54 +01:00
Sebastiaan Janssen 5c993ea3c6 Merge branch 'v11/dev' into v11/contrib 2022-12-12 13:59:03 +01:00
TiffanyandMichael Latouche 105670dcc1 Tree Roots are H1 2022-12-10 19:03:55 +01:00
Matthew WiseandMichael Latouche ec56778c9f standarising ActionLetter and ActionName for IAction 2022-12-10 01:59:45 +01:00
Kenn JacobsenandGitHub 801966f1ae Created a common library for the APIs (#13530)
* Created a common library for the APIs and moved stuff that is required for the new content API. Also moved the versioned backoffice API route handling to the management API where it belongs.

* Remove test auth attribute from Media
2022-12-09 08:52:17 +01:00
Bjarne FyrstenborgandMichael Latouche 2d2d8df82e Show published in tracked references 2022-12-09 01:00:07 +01:00
sofietoftandNikolaj 311c11074f Updated docs links to point to new platform (#13426)
* Updated docs links to point to new platform

* Update settingsdashboardintro.html

Co-authored-by: nikolajlauridsen <nikolajlauridsen@protonmail.ch>
2022-12-08 14:50:04 +01:00
Jacob OvergaardandGitHub 63e4adca92 Tree picker support for selecting containers (#13507)
Fixes https://github.com/umbraco/Umbraco-CMS/issues/13463
2022-12-07 15:21:15 +01:00
Bjarke Berg f3396a04fc Merge remote-tracking branch 'origin/v11/dev' into v12/dev
# Conflicts:
#	src/Umbraco.Cms.ManagementApi/Controllers/Security/BackOfficeController.cs
#	tests/Umbraco.Tests.AcceptanceTest/package-lock.json
#	tests/Umbraco.Tests.AcceptanceTest/package.json
2022-12-07 11:42:39 +01:00
Bjarke Berg b491b8c7a3 Merge remote-tracking branch 'origin/v10/dev' into v11/dev
# Conflicts:
#	src/JsonSchema/AppSettings.cs
#	src/Umbraco.Core/Configuration/Models/MarketplaceSettings.cs
#	src/Umbraco.Web.UI.Client/src/views/packages/views/repo.controller.js
#	src/Umbraco.Web.UI.Client/src/views/packages/views/repo.html
2022-12-07 10:57:32 +01:00
Bjarke BergandGitHub 388daf88c2 Merge pull request #13533 from umbraco/v11/feature/merge_v10.4_into_v11.1
V11/feature/merge v10.4 into v11.1
2022-12-07 10:55:59 +01:00
Bjarke BergandGitHub 519b3295ee Merge pull request #13532 from umbraco/revert-13528-v11/feature/merge_v10.4_into_v11.1
Revert "Merge v10.4 into v11.1"
2022-12-07 10:55:32 +01:00
Bjarke BergandGitHub 685193df77 Revert "Merge v10.4 into v11.1 (#13528)"
This reverts commit 443e8a8272.
2022-12-07 10:53:09 +01:00
+17 443e8a8272 Merge v10.4 into v11.1 (#13528)
* Bump version

* Add PrivateAssets="all" to mangement api project reference (#13249)

* Bump version

* Use the actual save function for saving the copy (#13066)

* Use the actual save function for saving the copy

* PR feedback

(cherry picked from commit 3802097a32)

* Unbreak breaking change in #13066 (#13288)

(cherry picked from commit e4741b0c64)

* Bump version to 10.3.2

* Parse lockId as invariant (#13284)

Co-authored-by: Zeegaan <nge@umbraco.dk>
(cherry picked from commit 272e922020)

* Allow for configuration of additional languages to install and ensure one is set as default. (#13290)

* Allow for configuration of additional languages to install and ensure one is set as default.

* Amended install default language method to handle invalid ISO codes and ensure the first specified language is always made the default.

* Removed unnecessary using.

* Apply suggestions from code review

Co-authored-by: Ronald Barendse <ronald@barend.se>

* Clean up.

* Update src/Umbraco.Infrastructure/Migrations/Install/DatabaseDataCreator.cs

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

Co-authored-by: Ronald Barendse <ronald@barend.se>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>

* Updated Smidge (#13331)

* Fix casing in fileSystemBasePath (#13306)

* Add guard statement (#13340)

* Move block grid single area rendering to its own dedicated view (#13359)

* Block Grid Editor Improvements (#13282)

* remove console log

* Updated references for Forms and Deploy in JSON schema project. (#13411)

* Enable single block mode (#13216)

* Enable single block mode

* Fixes tests, and adds test for single block mode output type

* Update src/Umbraco.Infrastructure/PropertyEditors/ValueConverters/BlockListPropertyValueConverter.cs

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

* Update src/Umbraco.Infrastructure/PropertyEditors/ValueConverters/BlockListPropertyValueConverter.cs

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

* Fix breaking change

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

* Block Grid Editor: Removal of the forced placement feature (#13400)

* removal of the forceLeft/forceRight code

* removal of forced placement in css

* bring back removed code

* V10: AllowedUploadFiles appsetting not working (#13408)

* Add new Settings

* Use new settings instead of old ones

* Implement AllowedUploadedFiles value to be copied to AllowedUplayedFileExtensions

* Obsolete old settings

* Rename DisallowedUploadFileExtensions

* Implement same fix for DisallowedUploadFiles

* Use new settings for backoffice server variables

* Update the correct setting

Co-authored-by: Zeegaan <nge@umbraco.dk>

* Feature: Media Picker drag and drop upload directly on property editor (#13393)

* prototype drag and drop upload

* Add upload image endpoint

* Add MediaPickerThreeController.cs

* Revert "Add upload image endpoint"

This reverts commit 4bb5865480.

* Update IIOHelper dependency

* show preview when uploading a new media item

* open uploaded media in media entry editor

* map data from uploaded media entry to support cropper

* add crop data to uploaded media item

* remove media library buttons for media entries not created in the media library

* Implement temp images save & add to media picker 3

* Implement ITemporaryImageService

* Remove save logic from MediaPicker3PropertyEditor

* Dont use a TempImageDto

* Add GetByAlias endpoint

* Add additonal xml doc

* Refactor to take array of aliases

* Add FromQuery attribute

* Formatting

* add resource to get media types by alias

* validate file size and file type based on server variables

* Update OpenApi.json
Add media picker three to BackOfficeServerVariables

* rename endpoint to upload media

* Use baseurl Method

* Dont upload in rte folder

* pass params correctly to end point

* queue files before uploading

* handle invalid files

* progress bar design adjustments

* only create data url for images

* disable edit and name buttons when uploading

* fix missing error messages for invalid files

* add temp location to media entry

* Add startNode to TemporaryImageService.cs

* Refactor get by alias

* Rename to GetAllFiltered

* use getAllFiltered method

* remove autoselect option

* fix missing alias when selecting media type

* fix file filter

* don't overwrite invalid entries from dropping new files

* add disallowed files to filter

* remove console.log

* move media uploader logic to reusable function

* fix missing tmp location

* attach media type alias to the mediaEntry

* support readonly mode

* show discard changes when files has been dropped

* add disabled prop to button group

* emit events when upload queue starts and ends

* pass node to media picker property editor

* add service to keep track of all uploads in progress

* add upload in progress to uploadTracker when the queue starts and ends

* disabled buttons when any upload is in progress

* return a subscription to align with eventsService

* Fix up cases where StartNodeId was null

* scope css

* Show filename in dialog for selecting media type

* reuse translation from media library dropzone

* Don't check for only images

* Remove composer

* Add mediaTypeAlias to TemporaryImageService

* Rename ITemporaryImageService to ITemporaryMediaService

* prefix client side only props with $ so we don't send unnecessary data to the server

* use prefixed dataURL in media entry editor

* render icon for non images

* fix auto select media type

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

* V10: merge v8 blobstorage file deletion fix (#13415)

* Implement fix from v8 https://github.com/umbraco/Umbraco-CMS/pull/11998

* Clean-up

Co-authored-by: Elitsa Marinovska <elm@umbraco.dk>

* Bump socket.io-parser from 4.0.4 to 4.0.5 in /src/Umbraco.Web.UI.Client

Bumps [socket.io-parser](https://github.com/socketio/socket.io-parser) from 4.0.4 to 4.0.5.
- [Release notes](https://github.com/socketio/socket.io-parser/releases)
- [Changelog](https://github.com/socketio/socket.io-parser/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/socket.io-parser/compare/4.0.4...4.0.5)

---
updated-dependencies:
- dependency-name: socket.io-parser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* update block grid panel name (#13325)

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>

* Bump async from 2.6.3 to 2.6.4 in /src/Umbraco.Web.UI.Client

Bumps [async](https://github.com/caolan/async) from 2.6.3 to 2.6.4.
- [Release notes](https://github.com/caolan/async/releases)
- [Changelog](https://github.com/caolan/async/blob/v2.6.4/CHANGELOG.md)
- [Commits](https://github.com/caolan/async/compare/v2.6.3...v2.6.4)

---
updated-dependencies:
- dependency-name: async
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump minimist from 1.2.5 to 1.2.7 in /src/Umbraco.Web.UI.Client

Bumps [minimist](https://github.com/minimistjs/minimist) from 1.2.5 to 1.2.7.
- [Release notes](https://github.com/minimistjs/minimist/releases)
- [Changelog](https://github.com/minimistjs/minimist/blob/main/CHANGELOG.md)
- [Commits](https://github.com/minimistjs/minimist/compare/v1.2.5...v1.2.7)

---
updated-dependencies:
- dependency-name: minimist
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump eventsource from 1.1.0 to 1.1.2 in /src/Umbraco.Web.UI.Client

Bumps [eventsource](https://github.com/EventSource/eventsource) from 1.1.0 to 1.1.2.
- [Release notes](https://github.com/EventSource/eventsource/releases)
- [Changelog](https://github.com/EventSource/eventsource/blob/master/HISTORY.md)
- [Commits](https://github.com/EventSource/eventsource/compare/v1.1.0...v1.1.2)

---
updated-dependencies:
- dependency-name: eventsource
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* updated package-lock

* Bump minimatch from 3.0.4 to 3.1.2 in /src/Umbraco.Web.UI.Client

Bumps [minimatch](https://github.com/isaacs/minimatch) from 3.0.4 to 3.1.2.
- [Release notes](https://github.com/isaacs/minimatch/releases)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.0.4...v3.1.2)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Block Grid Editor sorting directive (#13391)

* make sure area border is on top of block views.

* rename class to avoid confusion

* change witch UI goes on top on hover

* Description informing all blocks are allowed when none is configured.

* add 'When empty'

* Sort mode

* ability to switch out property actions

* enter and exit sortmode from property actions

* gridsortblock

* rename block class to use sortblock

* Sort mode styling

* remove unused css selector

* fixing style for inline-creat button to appear above and not when hovering contextbar

* work on block grid inline editor

* use uui-button + enable installing demo blocks when its not the first dataType of this kind.

* improvements to inline editing POC

* update title of area config overlay editor

* reset columnSpan if no column span options is defined.

* Inline editing

* remove html comment

* remove code for transfer of stylesheets

* ability to hide label from directive

* inline editing using slots to render the umb-property in light dom

* remove property editor proxies when moving a block to a new area/block/context

* minor adjustments to custom views

* use individual slots for each area.

* Inline editing

* a little smaller rte min-height

* fire Custom focus/blur event for Block Grid Editor to catch for focus imitation

* disable inline editing prevalue field when custom view is set

* Fix scroll parent block into view

* initial work on sorter directive

* remove mediaBlock controller

* initial notes and structure

* further concept work

* remove consol log

* CSS for getting bigger areas

* removal of the forceLeft/forceRight code

* proven concept

* fix grid space detection. vertical/horizontal

* clean up and notes

* move into inner containers as well

* use last available index pr default

* boundary selector, for improved choise of dropping into an area

* hide last inline create button when dragging around

* remove console.log

* removal of forced placement in css

* default config and clean up

* notes

* bring back removed code

* show area ui when in dragging mode

* more specific selector

* drop allowance + clean up

* notes and clean up

* auto scroll

* turn --umb-block-grid--dragging-mode into conditional CSS Custom Property

* auto scroll

* refactoring

* fix condition mistake

* scope.config.resolveVerticalDirection

* wrap up simple setDragImage solution

* bring back vm.notifyVisualUpdate and clean up

* make draggableSelector optional, fallback to element

* implement umb-block-grid-sorter for Area PreValue editor

* remove sortableJS dependency

* remove sortableJs from dependencies

* wups, bring back the comma

* removed sortablejs from package-lock

* finished implementation of sorter for PreValue Block Areas

* fix for FireFox shadowDom issue, contains temprorary code.

* stop auto scroll

* make full thing dragable

* fix firefox issue (applying translateZ)

* comment

* make block fit in context columns

* revert element to where it came from if sync could not succeed + clean up

* ensure block does not push the amount of columns, this occourse when dragging item around.

* take horizontalPlaceAfter into account

* implement horizontalPlaceAfter in Areas Prevalue editor

* clean up dependencies

* Shift related el to first in row or last in row when there is no horizontal room

* clean up and correct calculation

* remove unused attribute

* revert to using el.getBoundingClientRect(), as the config.draggableSelector is not available for the placeholder item.

* bind model via dedicated binding to ensure it stay connected with the source model

* Update src/Umbraco.Web.UI.Client/src/views/propertyeditors/blockgrid/prevalue/umb-block-grid-area-editor.html

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>

* fix eslint issues

* ensure missingColumnWidth is above 0

* Do not allow dragging something thats not found in the model.

* remove as this is not an error.

* update to Flexbox solution

* as the complex model does not change we can use single way binding

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>

* Block Grid Editor adjust while sorting (#13442)

* make sure area border is on top of block views.

* rename class to avoid confusion

* change witch UI goes on top on hover

* Description informing all blocks are allowed when none is configured.

* add 'When empty'

* Sort mode

* ability to switch out property actions

* enter and exit sortmode from property actions

* gridsortblock

* rename block class to use sortblock

* Sort mode styling

* remove unused css selector

* fixing style for inline-creat button to appear above and not when hovering contextbar

* work on block grid inline editor

* use uui-button + enable installing demo blocks when its not the first dataType of this kind.

* improvements to inline editing POC

* update title of area config overlay editor

* reset columnSpan if no column span options is defined.

* Inline editing

* remove html comment

* remove code for transfer of stylesheets

* ability to hide label from directive

* inline editing using slots to render the umb-property in light dom

* remove property editor proxies when moving a block to a new area/block/context

* minor adjustments to custom views

* use individual slots for each area.

* Inline editing

* a little smaller rte min-height

* fire Custom focus/blur event for Block Grid Editor to catch for focus imitation

* disable inline editing prevalue field when custom view is set

* Fix scroll parent block into view

* initial work on sorter directive

* remove mediaBlock controller

* initial notes and structure

* further concept work

* remove consol log

* CSS for getting bigger areas

* removal of the forceLeft/forceRight code

* proven concept

* fix grid space detection. vertical/horizontal

* clean up and notes

* move into inner containers as well

* use last available index pr default

* boundary selector, for improved choise of dropping into an area

* hide last inline create button when dragging around

* remove console.log

* removal of forced placement in css

* default config and clean up

* notes

* bring back removed code

* show area ui when in dragging mode

* more specific selector

* drop allowance + clean up

* notes and clean up

* auto scroll

* turn --umb-block-grid--dragging-mode into conditional CSS Custom Property

* auto scroll

* refactoring

* fix condition mistake

* scope.config.resolveVerticalDirection

* wrap up simple setDragImage solution

* bring back vm.notifyVisualUpdate and clean up

* make draggableSelector optional, fallback to element

* implement umb-block-grid-sorter for Area PreValue editor

* remove sortableJS dependency

* remove sortableJs from dependencies

* wups, bring back the comma

* removed sortablejs from package-lock

* finished implementation of sorter for PreValue Block Areas

* fix for FireFox shadowDom issue, contains temprorary code.

* stop auto scroll

* make full thing dragable

* fix firefox issue (applying translateZ)

* comment

* make block fit in context columns

* revert element to where it came from if sync could not succeed + clean up

* ensure block does not push the amount of columns, this occourse when dragging item around.

* take horizontalPlaceAfter into account

* implement horizontalPlaceAfter in Areas Prevalue editor

* clean up dependencies

* Shift related el to first in row or last in row when there is no horizontal room

* clean up and correct calculation

* remove unused attribute

* revert to using el.getBoundingClientRect(), as the config.draggableSelector is not available for the placeholder item.

* bind model via dedicated binding to ensure it stay connected with the source model

* Update src/Umbraco.Web.UI.Client/src/views/propertyeditors/blockgrid/prevalue/umb-block-grid-area-editor.html

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>

* fix eslint issues

* ensure missingColumnWidth is above 0

* Do not allow dragging something thats not found in the model.

* remove as this is not an error.

* update to Flexbox solution

* as the complex model does not change we can use single way binding

* Adjust columnSpan to context container, keep start columnSpan as the target for the calculation.

* change let to const

* Revert "change let to const"

This reverts commit fe19f8c5ed.

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>

* Block Grid Editor - make prevalue overlay medium sized (#13443)

* make sure area border is on top of block views.

* rename class to avoid confusion

* change witch UI goes on top on hover

* Description informing all blocks are allowed when none is configured.

* add 'When empty'

* Sort mode

* ability to switch out property actions

* enter and exit sortmode from property actions

* gridsortblock

* rename block class to use sortblock

* Sort mode styling

* remove unused css selector

* fixing style for inline-creat button to appear above and not when hovering contextbar

* work on block grid inline editor

* use uui-button + enable installing demo blocks when its not the first dataType of this kind.

* improvements to inline editing POC

* update title of area config overlay editor

* reset columnSpan if no column span options is defined.

* Inline editing

* remove html comment

* remove code for transfer of stylesheets

* ability to hide label from directive

* inline editing using slots to render the umb-property in light dom

* remove property editor proxies when moving a block to a new area/block/context

* minor adjustments to custom views

* use individual slots for each area.

* Inline editing

* a little smaller rte min-height

* fire Custom focus/blur event for Block Grid Editor to catch for focus imitation

* disable inline editing prevalue field when custom view is set

* Fix scroll parent block into view

* initial work on sorter directive

* remove mediaBlock controller

* initial notes and structure

* further concept work

* remove consol log

* CSS for getting bigger areas

* removal of the forceLeft/forceRight code

* proven concept

* fix grid space detection. vertical/horizontal

* clean up and notes

* move into inner containers as well

* use last available index pr default

* boundary selector, for improved choise of dropping into an area

* hide last inline create button when dragging around

* remove console.log

* removal of forced placement in css

* default config and clean up

* notes

* bring back removed code

* show area ui when in dragging mode

* more specific selector

* drop allowance + clean up

* notes and clean up

* auto scroll

* turn --umb-block-grid--dragging-mode into conditional CSS Custom Property

* auto scroll

* refactoring

* fix condition mistake

* scope.config.resolveVerticalDirection

* wrap up simple setDragImage solution

* bring back vm.notifyVisualUpdate and clean up

* make draggableSelector optional, fallback to element

* implement umb-block-grid-sorter for Area PreValue editor

* remove sortableJS dependency

* remove sortableJs from dependencies

* wups, bring back the comma

* removed sortablejs from package-lock

* finished implementation of sorter for PreValue Block Areas

* fix for FireFox shadowDom issue, contains temprorary code.

* stop auto scroll

* make full thing dragable

* fix firefox issue (applying translateZ)

* comment

* make block fit in context columns

* revert element to where it came from if sync could not succeed + clean up

* ensure block does not push the amount of columns, this occourse when dragging item around.

* take horizontalPlaceAfter into account

* implement horizontalPlaceAfter in Areas Prevalue editor

* clean up dependencies

* Shift related el to first in row or last in row when there is no horizontal room

* clean up and correct calculation

* remove unused attribute

* revert to using el.getBoundingClientRect(), as the config.draggableSelector is not available for the placeholder item.

* bind model via dedicated binding to ensure it stay connected with the source model

* Update src/Umbraco.Web.UI.Client/src/views/propertyeditors/blockgrid/prevalue/umb-block-grid-area-editor.html

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>

* fix eslint issues

* ensure missingColumnWidth is above 0

* Do not allow dragging something thats not found in the model.

* remove as this is not an error.

* update to Flexbox solution

* as the complex model does not change we can use single way binding

* Adjust columnSpan to context container, keep start columnSpan as the target for the calculation.

* make prevalue editor overlay medium size

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>

* block grid editor visual adjustments (#13446)

* make sure area border is on top of block views.

* rename class to avoid confusion

* change witch UI goes on top on hover

* Description informing all blocks are allowed when none is configured.

* add 'When empty'

* Sort mode

* ability to switch out property actions

* enter and exit sortmode from property actions

* gridsortblock

* rename block class to use sortblock

* Sort mode styling

* remove unused css selector

* fixing style for inline-creat button to appear above and not when hovering contextbar

* work on block grid inline editor

* use uui-button + enable installing demo blocks when its not the first dataType of this kind.

* improvements to inline editing POC

* update title of area config overlay editor

* reset columnSpan if no column span options is defined.

* Inline editing

* remove html comment

* remove code for transfer of stylesheets

* ability to hide label from directive

* inline editing using slots to render the umb-property in light dom

* remove property editor proxies when moving a block to a new area/block/context

* minor adjustments to custom views

* use individual slots for each area.

* Inline editing

* a little smaller rte min-height

* fire Custom focus/blur event for Block Grid Editor to catch for focus imitation

* disable inline editing prevalue field when custom view is set

* Fix scroll parent block into view

* initial work on sorter directive

* remove mediaBlock controller

* initial notes and structure

* further concept work

* remove consol log

* CSS for getting bigger areas

* removal of the forceLeft/forceRight code

* proven concept

* fix grid space detection. vertical/horizontal

* clean up and notes

* move into inner containers as well

* use last available index pr default

* boundary selector, for improved choise of dropping into an area

* hide last inline create button when dragging around

* remove console.log

* removal of forced placement in css

* default config and clean up

* notes

* bring back removed code

* show area ui when in dragging mode

* more specific selector

* drop allowance + clean up

* notes and clean up

* auto scroll

* turn --umb-block-grid--dragging-mode into conditional CSS Custom Property

* auto scroll

* refactoring

* fix condition mistake

* scope.config.resolveVerticalDirection

* wrap up simple setDragImage solution

* bring back vm.notifyVisualUpdate and clean up

* make draggableSelector optional, fallback to element

* implement umb-block-grid-sorter for Area PreValue editor

* remove sortableJS dependency

* remove sortableJs from dependencies

* wups, bring back the comma

* removed sortablejs from package-lock

* finished implementation of sorter for PreValue Block Areas

* fix for FireFox shadowDom issue, contains temprorary code.

* stop auto scroll

* make full thing dragable

* fix firefox issue (applying translateZ)

* comment

* make block fit in context columns

* revert element to where it came from if sync could not succeed + clean up

* ensure block does not push the amount of columns, this occourse when dragging item around.

* take horizontalPlaceAfter into account

* implement horizontalPlaceAfter in Areas Prevalue editor

* clean up dependencies

* Shift related el to first in row or last in row when there is no horizontal room

* clean up and correct calculation

* remove unused attribute

* revert to using el.getBoundingClientRect(), as the config.draggableSelector is not available for the placeholder item.

* bind model via dedicated binding to ensure it stay connected with the source model

* Update src/Umbraco.Web.UI.Client/src/views/propertyeditors/blockgrid/prevalue/umb-block-grid-area-editor.html

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>

* fix eslint issues

* ensure missingColumnWidth is above 0

* Do not allow dragging something thats not found in the model.

* remove as this is not an error.

* update to Flexbox solution

* as the complex model does not change we can use single way binding

* Adjust columnSpan to context container, keep start columnSpan as the target for the calculation.

* make prevalue editor overlay medium size

* more white borders on UI

* move Catalogue appearance to Advanced

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>

* Display media trashed state on custom view for image demo block (#13448)

* Block Grid Editor translations and Area size keyboard navigation (#13450)

* use custom prop for calculated width (#13451)

* Bump engine.io and socket.io in /src/Umbraco.Web.UI.Client

Bumps [engine.io](https://github.com/socketio/engine.io) and [socket.io](https://github.com/socketio/socket.io). These dependencies needed to be updated together.

Updates `engine.io` from 6.1.3 to 6.2.1
- [Release notes](https://github.com/socketio/engine.io/releases)
- [Changelog](https://github.com/socketio/engine.io/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/engine.io/compare/6.1.3...6.2.1)

Updates `socket.io` from 4.4.1 to 4.5.3
- [Release notes](https://github.com/socketio/socket.io/releases)
- [Changelog](https://github.com/socketio/socket.io/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/socket.io/compare/4.4.1...4.5.3)

---
updated-dependencies:
- dependency-name: engine.io
  dependency-type: indirect
- dependency-name: socket.io
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Cherry pick #13373 to v10/dev

* remove the hidding of catelouge appearance as its not located under advance (#13456)

* Fix preview issue for new (empty) variants (#13455)

* Fix save and preview for new (unsaved) variants

* Rework & simplify

* Rollback improvements (#13452)

* Rollback improvements - hide draft version, allow rolling back to last published version

* UX improvements to rollback, revert some overly complex logic in favor of better UX

* Ensure title update when changing rollback version

* Clean up

* Fix rollback playwright text

* Cherry pick #13404 to v10

* Delete references using custom relation types (#13389)

undefined

* V11: Fix ordering by published in list of content (#13474)

* Update sort statement to use published field for invariant content

* Order by published if invariant

* Add support for tags in block editors and nested content (#13412)

* feat: add tags extension points and remove hardcoded tags handling

* feat: allow tags editor in nested content and block editors

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

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

* Update src/Umbraco.Web.BackOffice/Controllers/ContentControllerBase.cs

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

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

* Ensure that all automatic relation types are updated (#13470)

* Make sure contexbar fits within the available space (#13467)

* Make sure contexbar fits within the available space

* Ensuring context bar moves above, no matter size of it.

* Fixing apperance of connection-fixers

* do not set layout gaps (#13496)

* V10/feature/fixing flaky acceptance test (#13473)

* Updated Forms dependency for JSON schema to the latest version. (#13505)

* Accessibility - Fix Packages - Modal - Empty buttons (#13114)

* Changing the way we create the temp file for SQLite file (#13439)

* Fix concurrency issue in UmbracoMapper (#13524)

* Add logging to UmbracoMapper

* Add NullLogger to tests

Co-authored-by: Zeegaan <nge@umbraco.dk>

* Allow indexing variant nodes when not all variants are published - fixes issues 11383. (#12669)

* This fixes issues 11383.
The introduction of the new Examine library caused an unintended consequence that it stopped indexing of nodes with language variants on them when one of the variants was unpublished.

These changes align ValueSetValidationStatus.Filtered to indicate that a node is intended as filtered out of a search, not that parts of its contents had been excluded from the result.

This brings it inline with how it is used in Umbraco.Examine.Lucene/UmbracoContentIndex

Unit tests changed to indicate the intent of ValueSetValidationStatus.Filtered

Change to UmbracoViewPage to make model variable nullable (because the solution wouldn't build otherwise on 2022)

* revert to use explicit type instead of var

Co-authored-by: Nathan Woulfe <nathan@nathanw.com.au>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>

* V11/feature/flaky test work (#13513) (#13527)

* Removed all the DeleteAllContent since I delete the doctypes in the before and after each functions which also deletes the content.

* fixed the test so it selects the specific button!

* I was dumb and forgot to remove the out commented code

* Added additional timeout so the pipeline has more time

* Removed language in settings because it was a duplicate of languages / languages

* Fixed the tests so they now check if each individual language that was created actually exists instead of checking for how many languages there are which could be flaky if another test touching the languages failed

* Bumped version

* Added a better locator for the buttons and increased timeouts

Signed-off-by: Zeegaan <nge@umbraco.dk>

Signed-off-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Andreas Zerbst <73799582+andr317c@users.noreply.github.com>

* Fix for issue 13017 - BeginUmbracoForm doesn't work with custom umbraco routes (#13103)

* Fix issue with custom Umbraco routes not working after submitting to a Surface controller

* Added comments

* Fixed breaking changes

* Fixed test by using correct new ctor

* Fixed initializtion of UmbracoRouteValueTransformer due to ambiguous ctor

Co-authored-by: Bjarke Berg <mail@bergmania.dk>

* Rollback project imports

* Remove duplicated lines in translations

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
Co-authored-by: patrickdemooij9 <patrickdemooij98@hotmail.com>
Co-authored-by: Sebastiaan Janssen <sebastiaan@umbraco.com>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
Co-authored-by: Andy Butland <abutland73@gmail.com>
Co-authored-by: Ronald Barendse <ronald@barend.se>
Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
Co-authored-by: Niels Lyngsø <nsl@umbraco.dk>
Co-authored-by: Niels Lyngsø <niels.lyngso@gmail.com>
Co-authored-by: Søren Kottal <sk@ecreo.dk>
Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Mads Rasmussen <madsr@hey.com>
Co-authored-by: Elitsa Marinovska <elm@umbraco.dk>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Blake Watt <bkclerke@users.noreply.github.com>
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
Co-authored-by: niekvanderreest <niekvanderreest@hotmail.com>
Co-authored-by: Bjarne Fyrstenborg <bjarne_fyrstenborg@hotmail.com>
Co-authored-by: Rasmus John Pedersen <mail@rjp.dk>
Co-authored-by: Andreas Zerbst <73799582+andr317c@users.noreply.github.com>
Co-authored-by: Jan Skovgaard <1932158+BatJan@users.noreply.github.com>
Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
Co-authored-by: Jonny Muir <jonnymoo@hotmail.com>
Co-authored-by: Nathan Woulfe <nathan@nathanw.com.au>
Co-authored-by: Justin Neville <67802060+justin-nevitech@users.noreply.github.com>
2022-12-07 08:51:00 +01:00
Bjarke Berg 2b6205a88c Remove duplicated lines in translations 2022-12-07 07:22:59 +01:00
MoleandGitHub 73515560b7 New backoffice: Token storage (#13519)
* Enable reference tokens

* Enable token validation

* Add Data protection
2022-12-07 06:48:53 +01:00
ustadstarandMichael Latouche f7e73fbff5 Fix check for existing userStatesFilter 2022-12-07 00:38:30 +01:00
Bjarke Berg e83e2dedb4 Rollback project imports 2022-12-06 13:32:06 +01:00
Bjarke Berg 962c1a1a5b Merge branch 'v10/dev' into v11/dev
# Conflicts:
#	src/Umbraco.Core/EmbeddedResources/Lang/en.xml
#	src/Umbraco.Core/EmbeddedResources/Lang/en_us.xml
#	src/Umbraco.Infrastructure/Migrations/Upgrade/UmbracoPlan.cs
#	src/Umbraco.Web.UI.Client/src/views/packages/views/repo.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/blockgrid/blockgridui.less
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/blockgrid/prevalue/blockgrid.blockconfiguration.controller.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/blockgrid/prevalue/blockgrid.blockconfiguration.overlay.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/blockgrid/umbblockgridentries.component.js
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Branding/logo.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Login/login.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/macro.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/templates.spec.ts
2022-12-06 12:53:37 +01:00
Justin NevilleandBjarke Berg e2b8cc7060 Fix for issue 13017 - BeginUmbracoForm doesn't work with custom umbraco routes (#13103)
* Fix issue with custom Umbraco routes not working after submitting to a Surface controller

* Added comments

* Fixed breaking changes

* Fixed test by using correct new ctor

* Fixed initializtion of UmbracoRouteValueTransformer due to ambiguous ctor

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2022-12-06 12:40:47 +01:00
d08f21d638 Fix for issue 13017 - BeginUmbracoForm doesn't work with custom umbraco routes (#13103)
* Fix issue with custom Umbraco routes not working after submitting to a Surface controller

* Added comments

* Fixed breaking changes

* Fixed test by using correct new ctor

* Fixed initializtion of UmbracoRouteValueTransformer due to ambiguous ctor

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2022-12-06 12:39:43 +01:00
Andreas ZerbstandGitHub 2da4b725b1 V11/feature/flaky test work (#13513)
* Removed all the DeleteAllContent since I delete the doctypes in the before and after each functions which also deletes the content.

* fixed the test so it selects the specific button!

* I was dumb and forgot to remove the out commented code

* Added additional timeout so the pipeline has more time

* Removed language in settings because it was a duplicate of languages / languages

* Fixed the tests so they now check if each individual language that was created actually exists instead of checking for how many languages there are which could be flaky if another test touching the languages failed

* Bumped version

* Added a better locator for the buttons and increased timeouts
2022-12-06 10:34:03 +01:00
4e823982c7 Allow indexing variant nodes when not all variants are published - fixes issues 11383. (#12669)
* This fixes issues 11383.
The introduction of the new Examine library caused an unintended consequence that it stopped indexing of nodes with language variants on them when one of the variants was unpublished.

These changes align ValueSetValidationStatus.Filtered to indicate that a node is intended as filtered out of a search, not that parts of its contents had been excluded from the result.

This brings it inline with how it is used in Umbraco.Examine.Lucene/UmbracoContentIndex

Unit tests changed to indicate the intent of ValueSetValidationStatus.Filtered

Change to UmbracoViewPage to make model variable nullable (because the solution wouldn't build otherwise on 2022)

* revert to use explicit type instead of var

Co-authored-by: Nathan Woulfe <nathan@nathanw.com.au>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2022-12-06 08:19:44 +01:00
5e03236e70 Allow indexing variant nodes when not all variants are published - fixes issues 11383. (#12669)
* This fixes issues 11383.
The introduction of the new Examine library caused an unintended consequence that it stopped indexing of nodes with language variants on them when one of the variants was unpublished.

These changes align ValueSetValidationStatus.Filtered to indicate that a node is intended as filtered out of a search, not that parts of its contents had been excluded from the result.

This brings it inline with how it is used in Umbraco.Examine.Lucene/UmbracoContentIndex

Unit tests changed to indicate the intent of ValueSetValidationStatus.Filtered

Change to UmbracoViewPage to make model variable nullable (because the solution wouldn't build otherwise on 2022)

* revert to use explicit type instead of var

Co-authored-by: Nathan Woulfe <nathan@nathanw.com.au>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2022-12-06 08:17:58 +01:00
Kenn JacobsenandGitHub bc94b2e16c Rename management API from Umbraco.Cms.ManagementApi to Umbraco.Cms.Api.Management (#13512) 2022-12-02 11:33:02 +01:00
Jason ElkinandGitHub 96918a9f1f Improve system information/telemetry (#13159)
* Differentiate between IIS and IIS Express in system information telemetry

* Add runtime mode to system information telemetry
2022-12-02 09:03:23 +01:00
Corné HoskamandGitHub 9099bf44ac Added various Block Grid translations (NL) - Pt 2. (#13508)
* Added various translations

* Added another translation

* Change request

* Added various other area translations

* Resolve conflict

* Forgot one!

* Update nl.xml
2022-12-01 14:26:58 +01:00
0b95d5e1e5 Forward merge v11/dev to v12/dev (#13509)
* update marketplace url to its final, live url

* Added various Block Grid translations (EN & NL) (#13488)

* Added various translations

* Added another translation

* Change request

* Revert breaking changes adding IContextCache to deploy connectors (#13489)

* Remove breaking changes in Deploy connector interfaces

* Add extension methods for calling the new interface methods in a backwards-compatible way

* Create and pack empty file to add TFM dependency (#13475)

* Change login image to new SVG. (#13493)

* Only add global usings when ImplicitUsings is enabled (#13491)

* bump to rc6

* V11: Allow changing logging directory from configuration (#13485)

* Allow changing logging directory from configuration

* Clean up

* Missing return statement

* Apply suggestions from code review

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

* Update src/Umbraco.Core/Constants-SystemDirectories.cs

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

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

* Move login.svg file

* Make sure contexbar fits within the available space (#13467)

* Make sure contexbar fits within the available space

* Ensuring context bar moves above, no matter size of it.

* Fixing apperance of connection-fixers

* Info panes not loading prerequisites (#13486)

* load relations immediately on init and remove call to non-existing function `appTabChange` on destroy

* load relations immediately on init and remove now not-used eventsService

* do not set layout gaps (#13496)

* Nuget updates (#13478)

* Updated nuget packages

* Remove npoco update

Co-authored-by: nikolajlauridsen <nikolajlauridsen@protonmail.ch>

* Nuget updates (#13478)

* Updated nuget packages

* Remove npoco update

Co-authored-by: nikolajlauridsen <nikolajlauridsen@protonmail.ch>

* Bump version to final

* V11/cherry pick flaky test (#13506)

* V10/feature/fixing flaky acceptance test (#13473)

* Bumped version

* Handle external authentication providers (#13487)

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
Co-authored-by: Corné Hoskam <choskam@hotmail.com>
Co-authored-by: Ronald Barendse <ronald@barend.se>
Co-authored-by: Niels Lyngsø <nsl@umbraco.dk>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
Co-authored-by: nikolajlauridsen <nikolajlauridsen@protonmail.ch>
Co-authored-by: Andreas Zerbst <73799582+andr317c@users.noreply.github.com>
2022-12-01 12:50:28 +01:00
Kenn JacobsenandGitHub 2143d8c3fe Handle external authentication providers (#13487) 2022-12-01 10:38:24 +01:00
Andreas ZerbstandGitHub 2ce205953c V11/cherry pick flaky test (#13506)
* V10/feature/fixing flaky acceptance test (#13473)

* Bumped version
2022-12-01 08:55:33 +01:00
Nikolaj 934bb8be7a Merge tag 'release-11.0.0' into v11/dev
# Conflicts:
#	version.json
2022-12-01 08:29:47 +01:00
Justin NevilleandSebastiaan Janssen 8bf6a9246f Added aria label to time period on log dashboard 2022-11-30 16:20:31 +01:00
Justin NevilleandSebastiaan Janssen 88ff05a836 Allow empty valuesets to be indexed so the back-offce does not hang when rebuilding empty indexes 2022-11-30 16:19:17 +01:00
Markus JohanssonandSebastiaan Janssen d2ab80534a LogViewe: Adding support for destructed properties 2022-11-30 16:17:27 +01:00
Matthew CareandSebastiaan Janssen 67c60d8a19 Update to latest framework version
Update reference to old framework version in web site projects
2022-11-30 16:16:08 +01:00
Erik-Jan WestendorpandSebastiaan Janssen 4f129baebd Use constants instead of hardcoded strings 2022-11-30 16:13:47 +01:00
Lotte PitcherandGitHub da9eae1252 Remove reference to installing a local package via backoffice (#13330) 2022-11-30 16:08:54 +01:00
Lotte PitcherandGitHub af4333b8e4 Fixing some comments errors to reduce CodeQL warnings (#13327) 2022-11-30 16:01:36 +01:00
CyberReiterandSebastiaan Janssen 02dcf98e3d make use of spans in UriExtensions to make them faster 2022-11-30 15:56:47 +01:00
Vitor RodriguesandSebastiaan Janssen 7ad1e638e6 Re-use any existing ReloadableLogger
It's possible that consumers have already set up a bootstrap logger themselves before Umbraco had a chance too, if that's the case we just reload it.
2022-11-30 15:51:36 +01:00
Vitor RodriguesandSebastiaan Janssen d4c921264d Added missing content-type header to BootFailedMiddleware response
When Umbraco is configured with X-Content-Type-Options nosniff as is recommended (there's even a health check for it), any boot failure would simply show the html source code in the browser instead of properly rendering the html, as the content-type wasn't being set.
2022-11-30 15:48:46 +01:00
Marc GoodsonandGitHub 2461b7d805 Adjust the wording of some of the helper text around the new Block Grid editor (#13484) 2022-11-30 15:36:23 +01:00
Kristian Tolleshaug MørchandSebastiaan Janssen 69c725b3ec Ensure format processor is before quality processor. 2022-11-30 13:50:06 +01:00
Vlael LayugandMichael Latouche f7b42a50cc add default culture when there's only 1 language configured 2022-11-30 08:50:30 +01:00
nikolajlauridsen d713b383c9 Bump version to final 2022-11-29 16:40:47 +01:00
Bjarke Bergandnikolajlauridsen 18fd0c9ed7 Nuget updates (#13478)
* Updated nuget packages

* Remove npoco update

Co-authored-by: nikolajlauridsen <nikolajlauridsen@protonmail.ch>
2022-11-29 14:17:07 +01:00
6c13c87f15 Nuget updates (#13478)
* Updated nuget packages

* Remove npoco update

Co-authored-by: nikolajlauridsen <nikolajlauridsen@protonmail.ch>
2022-11-29 14:16:49 +01:00
Niels LyngsøandGitHub acbaaecbcc do not set layout gaps (#13496) 2022-11-29 13:35:07 +01:00
Callum WhyteandGitHub 5ef43cb4f0 Rename StaticServiceProvider namespace Umbraco.Cms.Core.DependencyInjection (#13239) 2022-11-29 12:22:57 +01:00
Bjarne FyrstenborgandGitHub 30a7bca0ef UserController should use getLocalDate from dateHelper (#13469)
* Use `getLocalDate` from dateHelper

* Remove duplicate import

* Keep function getLocalDate but use dateHelper

* Mark function as deprecated
2022-11-29 11:56:12 +01:00
Bjarke Berg abd490f460 Merge remote-tracking branch 'origin/release/11.0' into release/11.0 2022-11-29 10:36:13 +01:00
MoleandGitHub 1875568e0b Merge pull request #13494 from umbraco/v12/fix/merge-with-v11-dev
Merge v11/dev to v12/dev
2022-11-29 10:31:12 +01:00
Jacob OvergaardandGitHub b5a3dcb81e Info panes not loading prerequisites (#13486)
* load relations immediately on init and remove call to non-existing function `appTabChange` on destroy

* load relations immediately on init and remove now not-used eventsService
2022-11-29 10:07:52 +01:00
Niels Lyngsøandnikolajlauridsen b9990f23db Make sure contexbar fits within the available space (#13467)
* Make sure contexbar fits within the available space

* Ensuring context bar moves above, no matter size of it.

* Fixing apperance of connection-fixers
2022-11-29 09:59:49 +01:00
Bjarke Berg 9bed0cde9a Move login.svg file 2022-11-29 09:30:11 +01:00
Bjarke Berg a76d68bd37 Merge remote-tracking branch 'origin/release/11.0' into v11/dev
# Conflicts:
#	version.json
2022-11-29 08:19:27 +01:00
kjac 7329113885 Fix merge 2022-11-29 07:29:23 +01:00
bfe9579a0c V11: Allow changing logging directory from configuration (#13485)
* Allow changing logging directory from configuration

* Clean up

* Missing return statement

* Apply suggestions from code review

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

* Update src/Umbraco.Core/Constants-SystemDirectories.cs

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

Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2022-11-29 07:27:59 +01:00
kjac d8c62080e6 Merge branch 'v11/dev' into v12/fix/merge-with-v11-dev
# Conflicts:
#	src/Umbraco.Infrastructure/Migrations/Upgrade/UmbracoPlan.cs
2022-11-29 07:26:14 +01:00
Roy BerrisandGitHub 1ed24e78c8 Notification documentation (#13207) 2022-11-28 23:26:59 +01:00
CyberReiterandSebastiaan Janssen f99378c5d3 Use ToArray instead of ToList 2022-11-28 23:18:54 +01:00
Erik-Jan WestendorpandGitHub 65dd52ad05 Add AddManifestFilter extension method to UmbracoBuilder.CollectionBuilders.cs (#13161) 2022-11-28 23:14:24 +01:00
Lars-Erik AabechandSebastiaan Janssen 4d23e8a6bd Ensure culture is always set in LocalizeText 2022-11-28 23:11:28 +01:00
bkclerkeandSebastiaan Janssen 1009238f32 add aria-labelledby attribute to tags input 2022-11-28 23:04:13 +01:00
Jan SkovgaardandGitHub 97fa4d76dc Accessibility: Fix - Missing table description: A data table is present with no description associated to it (#13117) 2022-11-28 22:54:54 +01:00
Asbjørn Riis-KnudsenandGitHub 50d361c4e6 Skip populating the PropertyTypeGroup alias column if it is already populated (#13109) 2022-11-28 22:44:59 +01:00
patrickdemooij9andGitHub 475cea40a1 Use span in StripFileExtension to speed up and use less memory (#13101) 2022-11-28 22:12:30 +01:00
Anders BjernerandSebastiaan Janssen 33668a5d95 Added "loading" parameter to "umbEditorHeader" directive 2022-11-28 21:46:49 +01:00
Bjarne FyrstenborgandGitHub a7368542d8 Add input id to args in toggleValue event (#13108) 2022-11-28 21:33:59 +01:00
Karl ButlerandGitHub 2d560e9766 Accessibility Fixes for Users and Packages pages (#13087) 2022-11-28 21:17:04 +01:00
JesseandGitHub e87701c482 added fix for ncNodeName filter in list view (#13086) 2022-11-28 20:38:12 +01:00
Bjarke Berg 65f66c2560 Merge remote-tracking branch 'origin/release/11.0' into release/11.0 2022-11-28 19:58:10 +01:00
Bjarke Berg 082864f529 bump to rc6 2022-11-28 19:58:02 +01:00
Ronald BarendseandGitHub 8c483e8d3b Only add global usings when ImplicitUsings is enabled (#13491) 2022-11-28 19:57:36 +01:00
Niels LyngsøandBjarke Berg ed67cd887f Change login image to new SVG. (#13493) 2022-11-28 19:56:04 +01:00
Niels LyngsøandGitHub 188fa237cd Change login image to new SVG. (#13493) 2022-11-28 19:55:15 +01:00
Ronald BarendseandGitHub a3361606e0 Create and pack empty file to add TFM dependency (#13475) 2022-11-28 19:48:29 +01:00
Ronald BarendseandGitHub e45ed3d7f1 Revert breaking changes adding IContextCache to deploy connectors (#13489)
* Remove breaking changes in Deploy connector interfaces

* Add extension methods for calling the new interface methods in a backwards-compatible way
2022-11-28 19:16:19 +01:00
bakersbakebreadandSebastiaan Janssen 3377a7c96b add setDirty() logic to remove actions on mediaPicker3 property editor 2022-11-28 15:50:41 +01:00
Corné HoskamandNikolaj 493e93cc89 Added various Block Grid translations (EN & NL) (#13488)
* Added various translations

* Added another translation

* Change request
2022-11-28 14:58:10 +01:00
Corné HoskamandGitHub a4e67bf444 Added various Block Grid translations (EN & NL) (#13488)
* Added various translations

* Added another translation

* Change request
2022-11-28 14:54:03 +01:00
Nikolaj 7342fde17f Revert "Add status endpoint"
This reverts commit b594ad8ccf.
2022-11-28 14:42:22 +01:00
Nikolaj b594ad8ccf Add status endpoint 2022-11-28 14:41:15 +01:00
Sebastiaan Janssen 8c2329f2b2 Merge branch 'v11/dev' into v11/contrib
# Conflicts:
#	src/Umbraco.Core/EmbeddedResources/Lang/en.xml
#	src/Umbraco.Core/EmbeddedResources/Lang/en_us.xml
#	src/Umbraco.Web.UI.Client/src/views/packages/views/repo.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/blockgrid/prevalue/blockgrid.blockconfiguration.controller.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/blockgrid/prevalue/blockgrid.blockconfiguration.overlay.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/blockgrid/prevalue/umb-block-grid-configuration-area-entry.html
2022-11-28 13:50:44 +01:00
Elitsa MarinovskaandGitHub af6b8fc5cb Enabling an Umbraco admin user to disable 2FA for a member (#13369)
* Fix Invalid authentication code bug

* Add translation keys for 2fa

* Display toggle for 2FA on member

* Add TwoFactorEnabled prop when saving member

* Handle disabling of 2FA

* Fix tests

* Changing obsolete msg
2022-11-28 13:42:38 +01:00
MoleandGitHub 06924ed0f4 Ensure that all automatic relation types are updated (#13470) 2022-11-28 12:49:14 +01:00
Jacob Overgaard 1a0983f0c7 update marketplace url to its final, live url 2022-11-28 11:15:48 +01:00
MoleandGitHub 37b33641c3 V11: Fix ordering by published in list of content (#13474)
* Update sort statement to use published field for invariant content

* Order by published if invariant
2022-11-25 11:37:46 +01:00
Sean ThorneandMichael Latouche 88ce31197e add health-check basic tests 2022-11-25 09:40:23 +01:00
Owain JonesandMichael Latouche 079b2b7452 Updated welsh translations file 2022-11-25 02:16:37 +01:00
Paul SealandGitHub d86d29807d created an add current domain button to the cultures and hostnames sc… (#13436)
* created an add current domain button to the cultures and hostnames screen

* removed unwanted space
2022-11-25 02:07:03 +01:00
Bjarne FyrstenborgandGitHub a500ef9497 Delete references using custom relation types (#13389)
undefined
2022-11-23 15:43:51 +01:00
MoleandGitHub aeb52ed94e Merge pull request #13404 from sean-p-m/temp-13402
13402 - Update PreviewAuthenticationMiddleware to support chunked aut…
2022-11-23 11:36:15 +01:00
Jacob OvergaardandGitHub 02275ed772 Add sensible eslint rules with newest eslint version (#13457) 2022-11-23 11:26:20 +01:00
MoleandGitHub 525a204c40 Merge pull request #13459 from umbraco/v11/merge_release_into_dev
Merge release into dev
2022-11-22 16:08:59 +01:00
Warren BuckleyandGitHub b392ac78b3 Merge pull request #13458 from umbraco/v11/codespaces/updated-sqlite-feature-location
Codespaces: Updated SQLite DevContainer feature after rename
2022-11-22 14:59:03 +00:00
f83c946c96 Updated docs links to point to new platform (#13426)
* Updated docs links to point to new platform

* Update settingsdashboardintro.html

Co-authored-by: nikolajlauridsen <nikolajlauridsen@protonmail.ch>
2022-11-22 15:37:15 +01:00
nikolajlauridsen d188ff9730 Merge branch 'release/11.0' into v11/merge_release_into_dev
# Conflicts:
#	src/JsonSchema/AppSettings.cs
#	src/Umbraco.Core/Configuration/Models/MarketplaceSettings.cs
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/blockgrid/blockgridui.less
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/blockgrid/prevalue/blockgrid.blockconfiguration.overlay.html
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/blockgrid/umbblockgridentries.component.js
#	src/Umbraco.Web.UI.Client/src/views/propertyeditors/blockgrid/umbraco-blockgridlayout-flexbox.css
#	version.json
2022-11-22 15:30:45 +01:00
Warren Buckley 03253afabe The repo & package for the SQLite DevContainer feature has moved after I renamed the repo 2022-11-22 14:11:24 +00:00
Kenn JacobsenandGitHub cbd5d45bbf Split search/index API into two separate APIs (#13447)
* Split searcher and indexer API into two separate ones

* Fixed bad merge + fixed namespaces

* Update OpenAPI json scheme
2022-11-22 13:43:50 +01:00
Bjarne Fyrstenborgandnikolajlauridsen dc1b10f324 Adjust sorting of block grid editor groups to y-axis only (#13225)
fixes https://github.com/umbraco/Umbraco-CMS/issues/13180
2022-11-22 12:53:52 +01:00
Ronald BarendseandGitHub 2e54579a2f Simplify JSON schema, generation, copying and updating (#13427)
* Simplify JSON schema and only generate appsettings-schema.Umbraco.Cms.json

* Use Umbraco.JsonSchema.Extensions to dynamically add JSON schema references

* Move DependentUpon items to shared MSBuild props

* Update LangVersion to latest

* Update Umbraco.GitVersioning.Extensions to 0.2.0

* Remove JSON schemas on clean

* Remove Umbraco.JsonSchema.Core project

* Fix JSON schema nullability

* Ignore additional JSON schema files in template

* Update CompatibilitySuppressions.xml

* Remove GlobalSettings.UmbracoPath from JSON schema again

* Remove RemoveUmbracoJsonSchemaFiles target

* Update Umbraco.JsonSchema.Extensions to 0.2.0 and add weights

* Flatten generated JSON schema hierarchy

* Remove LicensesSettings from CMS codebase

* Change AdditionalParameters to IDictionary
2022-11-22 12:48:11 +01:00
Bjarne FyrstenborgandGitHub d4c5f5017f Adjust sorting of block grid editor groups to y-axis only (#13225)
fixes https://github.com/umbraco/Umbraco-CMS/issues/13180
2022-11-22 10:57:31 +01:00
Niels Lyngsøandnikolajlauridsen 85842bde9f remove the hidding of catelouge appearance as its not located under advance (#13456) 2022-11-22 10:55:14 +01:00
nikolajlauridsen 22caf2319d Bump version 2022-11-22 09:51:34 +01:00
niekvanderreestandnikolajlauridsen 82cd8330ea Cherry pick #13373 to v10/dev 2022-11-22 09:48:15 +01:00
dependabot[bot]andnikolajlauridsen 36a505ee78 Bump engine.io and socket.io in /src/Umbraco.Web.UI.Client
Bumps [engine.io](https://github.com/socketio/engine.io) and [socket.io](https://github.com/socketio/socket.io). These dependencies needed to be updated together.

Updates `engine.io` from 6.1.3 to 6.2.1
- [Release notes](https://github.com/socketio/engine.io/releases)
- [Changelog](https://github.com/socketio/engine.io/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/engine.io/compare/6.1.3...6.2.1)

Updates `socket.io` from 4.4.1 to 4.5.3
- [Release notes](https://github.com/socketio/socket.io/releases)
- [Changelog](https://github.com/socketio/socket.io/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/socket.io/compare/4.4.1...4.5.3)

---
updated-dependencies:
- dependency-name: engine.io
  dependency-type: indirect
- dependency-name: socket.io
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-22 09:48:03 +01:00
Niels Lyngsøandnikolajlauridsen bde2f7c0c3 use custom prop for calculated width (#13451) 2022-11-22 09:44:09 +01:00
Niels Lyngsøandnikolajlauridsen 0def36ac31 Block Grid Editor translations and Area size keyboard navigation (#13450) 2022-11-22 09:44:01 +01:00
Niels Lyngsøandnikolajlauridsen a0f348862f Display media trashed state on custom view for image demo block (#13448) 2022-11-22 09:43:45 +01:00
3b9fc38078 block grid editor visual adjustments (#13446)
* make sure area border is on top of block views.

* rename class to avoid confusion

* change witch UI goes on top on hover

* Description informing all blocks are allowed when none is configured.

* add 'When empty'

* Sort mode

* ability to switch out property actions

* enter and exit sortmode from property actions

* gridsortblock

* rename block class to use sortblock

* Sort mode styling

* remove unused css selector

* fixing style for inline-creat button to appear above and not when hovering contextbar

* work on block grid inline editor

* use uui-button + enable installing demo blocks when its not the first dataType of this kind.

* improvements to inline editing POC

* update title of area config overlay editor

* reset columnSpan if no column span options is defined.

* Inline editing

* remove html comment

* remove code for transfer of stylesheets

* ability to hide label from directive

* inline editing using slots to render the umb-property in light dom

* remove property editor proxies when moving a block to a new area/block/context

* minor adjustments to custom views

* use individual slots for each area.

* Inline editing

* a little smaller rte min-height

* fire Custom focus/blur event for Block Grid Editor to catch for focus imitation

* disable inline editing prevalue field when custom view is set

* Fix scroll parent block into view

* initial work on sorter directive

* remove mediaBlock controller

* initial notes and structure

* further concept work

* remove consol log

* CSS for getting bigger areas

* removal of the forceLeft/forceRight code

* proven concept

* fix grid space detection. vertical/horizontal

* clean up and notes

* move into inner containers as well

* use last available index pr default

* boundary selector, for improved choise of dropping into an area

* hide last inline create button when dragging around

* remove console.log

* removal of forced placement in css

* default config and clean up

* notes

* bring back removed code

* show area ui when in dragging mode

* more specific selector

* drop allowance + clean up

* notes and clean up

* auto scroll

* turn --umb-block-grid--dragging-mode into conditional CSS Custom Property

* auto scroll

* refactoring

* fix condition mistake

* scope.config.resolveVerticalDirection

* wrap up simple setDragImage solution

* bring back vm.notifyVisualUpdate and clean up

* make draggableSelector optional, fallback to element

* implement umb-block-grid-sorter for Area PreValue editor

* remove sortableJS dependency

* remove sortableJs from dependencies

* wups, bring back the comma

* removed sortablejs from package-lock

* finished implementation of sorter for PreValue Block Areas

* fix for FireFox shadowDom issue, contains temprorary code.

* stop auto scroll

* make full thing dragable

* fix firefox issue (applying translateZ)

* comment

* make block fit in context columns

* revert element to where it came from if sync could not succeed + clean up

* ensure block does not push the amount of columns, this occourse when dragging item around.

* take horizontalPlaceAfter into account

* implement horizontalPlaceAfter in Areas Prevalue editor

* clean up dependencies

* Shift related el to first in row or last in row when there is no horizontal room

* clean up and correct calculation

* remove unused attribute

* revert to using el.getBoundingClientRect(), as the config.draggableSelector is not available for the placeholder item.

* bind model via dedicated binding to ensure it stay connected with the source model

* Update src/Umbraco.Web.UI.Client/src/views/propertyeditors/blockgrid/prevalue/umb-block-grid-area-editor.html

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>

* fix eslint issues

* ensure missingColumnWidth is above 0

* Do not allow dragging something thats not found in the model.

* remove as this is not an error.

* update to Flexbox solution

* as the complex model does not change we can use single way binding

* Adjust columnSpan to context container, keep start columnSpan as the target for the calculation.

* make prevalue editor overlay medium size

* more white borders on UI

* move Catalogue appearance to Advanced

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
2022-11-22 09:43:21 +01:00
195cf4f9ec Block Grid Editor - make prevalue overlay medium sized (#13443)
* make sure area border is on top of block views.

* rename class to avoid confusion

* change witch UI goes on top on hover

* Description informing all blocks are allowed when none is configured.

* add 'When empty'

* Sort mode

* ability to switch out property actions

* enter and exit sortmode from property actions

* gridsortblock

* rename block class to use sortblock

* Sort mode styling

* remove unused css selector

* fixing style for inline-creat button to appear above and not when hovering contextbar

* work on block grid inline editor

* use uui-button + enable installing demo blocks when its not the first dataType of this kind.

* improvements to inline editing POC

* update title of area config overlay editor

* reset columnSpan if no column span options is defined.

* Inline editing

* remove html comment

* remove code for transfer of stylesheets

* ability to hide label from directive

* inline editing using slots to render the umb-property in light dom

* remove property editor proxies when moving a block to a new area/block/context

* minor adjustments to custom views

* use individual slots for each area.

* Inline editing

* a little smaller rte min-height

* fire Custom focus/blur event for Block Grid Editor to catch for focus imitation

* disable inline editing prevalue field when custom view is set

* Fix scroll parent block into view

* initial work on sorter directive

* remove mediaBlock controller

* initial notes and structure

* further concept work

* remove consol log

* CSS for getting bigger areas

* removal of the forceLeft/forceRight code

* proven concept

* fix grid space detection. vertical/horizontal

* clean up and notes

* move into inner containers as well

* use last available index pr default

* boundary selector, for improved choise of dropping into an area

* hide last inline create button when dragging around

* remove console.log

* removal of forced placement in css

* default config and clean up

* notes

* bring back removed code

* show area ui when in dragging mode

* more specific selector

* drop allowance + clean up

* notes and clean up

* auto scroll

* turn --umb-block-grid--dragging-mode into conditional CSS Custom Property

* auto scroll

* refactoring

* fix condition mistake

* scope.config.resolveVerticalDirection

* wrap up simple setDragImage solution

* bring back vm.notifyVisualUpdate and clean up

* make draggableSelector optional, fallback to element

* implement umb-block-grid-sorter for Area PreValue editor

* remove sortableJS dependency

* remove sortableJs from dependencies

* wups, bring back the comma

* removed sortablejs from package-lock

* finished implementation of sorter for PreValue Block Areas

* fix for FireFox shadowDom issue, contains temprorary code.

* stop auto scroll

* make full thing dragable

* fix firefox issue (applying translateZ)

* comment

* make block fit in context columns

* revert element to where it came from if sync could not succeed + clean up

* ensure block does not push the amount of columns, this occourse when dragging item around.

* take horizontalPlaceAfter into account

* implement horizontalPlaceAfter in Areas Prevalue editor

* clean up dependencies

* Shift related el to first in row or last in row when there is no horizontal room

* clean up and correct calculation

* remove unused attribute

* revert to using el.getBoundingClientRect(), as the config.draggableSelector is not available for the placeholder item.

* bind model via dedicated binding to ensure it stay connected with the source model

* Update src/Umbraco.Web.UI.Client/src/views/propertyeditors/blockgrid/prevalue/umb-block-grid-area-editor.html

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>

* fix eslint issues

* ensure missingColumnWidth is above 0

* Do not allow dragging something thats not found in the model.

* remove as this is not an error.

* update to Flexbox solution

* as the complex model does not change we can use single way binding

* Adjust columnSpan to context container, keep start columnSpan as the target for the calculation.

* make prevalue editor overlay medium size

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
2022-11-22 09:42:53 +01:00
f2798a6790 Block Grid Editor adjust while sorting (#13442)
* make sure area border is on top of block views.

* rename class to avoid confusion

* change witch UI goes on top on hover

* Description informing all blocks are allowed when none is configured.

* add 'When empty'

* Sort mode

* ability to switch out property actions

* enter and exit sortmode from property actions

* gridsortblock

* rename block class to use sortblock

* Sort mode styling

* remove unused css selector

* fixing style for inline-creat button to appear above and not when hovering contextbar

* work on block grid inline editor

* use uui-button + enable installing demo blocks when its not the first dataType of this kind.

* improvements to inline editing POC

* update title of area config overlay editor

* reset columnSpan if no column span options is defined.

* Inline editing

* remove html comment

* remove code for transfer of stylesheets

* ability to hide label from directive

* inline editing using slots to render the umb-property in light dom

* remove property editor proxies when moving a block to a new area/block/context

* minor adjustments to custom views

* use individual slots for each area.

* Inline editing

* a little smaller rte min-height

* fire Custom focus/blur event for Block Grid Editor to catch for focus imitation

* disable inline editing prevalue field when custom view is set

* Fix scroll parent block into view

* initial work on sorter directive

* remove mediaBlock controller

* initial notes and structure

* further concept work

* remove consol log

* CSS for getting bigger areas

* removal of the forceLeft/forceRight code

* proven concept

* fix grid space detection. vertical/horizontal

* clean up and notes

* move into inner containers as well

* use last available index pr default

* boundary selector, for improved choise of dropping into an area

* hide last inline create button when dragging around

* remove console.log

* removal of forced placement in css

* default config and clean up

* notes

* bring back removed code

* show area ui when in dragging mode

* more specific selector

* drop allowance + clean up

* notes and clean up

* auto scroll

* turn --umb-block-grid--dragging-mode into conditional CSS Custom Property

* auto scroll

* refactoring

* fix condition mistake

* scope.config.resolveVerticalDirection

* wrap up simple setDragImage solution

* bring back vm.notifyVisualUpdate and clean up

* make draggableSelector optional, fallback to element

* implement umb-block-grid-sorter for Area PreValue editor

* remove sortableJS dependency

* remove sortableJs from dependencies

* wups, bring back the comma

* removed sortablejs from package-lock

* finished implementation of sorter for PreValue Block Areas

* fix for FireFox shadowDom issue, contains temprorary code.

* stop auto scroll

* make full thing dragable

* fix firefox issue (applying translateZ)

* comment

* make block fit in context columns

* revert element to where it came from if sync could not succeed + clean up

* ensure block does not push the amount of columns, this occourse when dragging item around.

* take horizontalPlaceAfter into account

* implement horizontalPlaceAfter in Areas Prevalue editor

* clean up dependencies

* Shift related el to first in row or last in row when there is no horizontal room

* clean up and correct calculation

* remove unused attribute

* revert to using el.getBoundingClientRect(), as the config.draggableSelector is not available for the placeholder item.

* bind model via dedicated binding to ensure it stay connected with the source model

* Update src/Umbraco.Web.UI.Client/src/views/propertyeditors/blockgrid/prevalue/umb-block-grid-area-editor.html

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>

* fix eslint issues

* ensure missingColumnWidth is above 0

* Do not allow dragging something thats not found in the model.

* remove as this is not an error.

* update to Flexbox solution

* as the complex model does not change we can use single way binding

* Adjust columnSpan to context container, keep start columnSpan as the target for the calculation.

* change let to const

* Revert "change let to const"

This reverts commit fe19f8c5ed.

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
2022-11-22 09:29:54 +01:00
72bdebf419 v11: Umbraco Marketplace replaces packages repo (#13371)
* add lang keys for marketplace

* remove old 'repo' page and deprecate related services

* add new view for Umbraco Marketplace

* optimise margin/padding for other tabs

* mark Our Repository constants as obsolete

* improve css path to iframe slightly with more aliases and classnames

* remove style qs

* update URL of Marketplace

* add ng-controller with utitlities for future PostMessage API

* rename marketplace loaded function

* remove iframe postmessage logic for time being

* add handling of dynamic querystring params

* assume url does not change

* Added support for additional parameters for marketplace

* Update src/JsonSchema/AppSettings.cs

Fix styling issue

Co-authored-by: Ronald Barendse <ronald@barend.se>

* Update src/Umbraco.Core/Configuration/Models/MarketplaceSettings.cs

Fix styling issue

Co-authored-by: Ronald Barendse <ronald@barend.se>

* Update src/Umbraco.Core/Configuration/Models/MarketplaceSettings.cs

Make comment more descriptive

Co-authored-by: Ronald Barendse <ronald@barend.se>

* Update src/Umbraco.Core/Constants-Marketplace.cs

Fix styling issue

Co-authored-by: Ronald Barendse <ronald@barend.se>

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
Co-authored-by: Ronald Barendse <ronald@barend.se>
2022-11-22 09:28:15 +01:00
1196a4d07b Block Grid Editor sorting directive (#13391)
* make sure area border is on top of block views.

* rename class to avoid confusion

* change witch UI goes on top on hover

* Description informing all blocks are allowed when none is configured.

* add 'When empty'

* Sort mode

* ability to switch out property actions

* enter and exit sortmode from property actions

* gridsortblock

* rename block class to use sortblock

* Sort mode styling

* remove unused css selector

* fixing style for inline-creat button to appear above and not when hovering contextbar

* work on block grid inline editor

* use uui-button + enable installing demo blocks when its not the first dataType of this kind.

* improvements to inline editing POC

* update title of area config overlay editor

* reset columnSpan if no column span options is defined.

* Inline editing

* remove html comment

* remove code for transfer of stylesheets

* ability to hide label from directive

* inline editing using slots to render the umb-property in light dom

* remove property editor proxies when moving a block to a new area/block/context

* minor adjustments to custom views

* use individual slots for each area.

* Inline editing

* a little smaller rte min-height

* fire Custom focus/blur event for Block Grid Editor to catch for focus imitation

* disable inline editing prevalue field when custom view is set

* Fix scroll parent block into view

* initial work on sorter directive

* remove mediaBlock controller

* initial notes and structure

* further concept work

* remove consol log

* CSS for getting bigger areas

* removal of the forceLeft/forceRight code

* proven concept

* fix grid space detection. vertical/horizontal

* clean up and notes

* move into inner containers as well

* use last available index pr default

* boundary selector, for improved choise of dropping into an area

* hide last inline create button when dragging around

* remove console.log

* removal of forced placement in css

* default config and clean up

* notes

* bring back removed code

* show area ui when in dragging mode

* more specific selector

* drop allowance + clean up

* notes and clean up

* auto scroll

* turn --umb-block-grid--dragging-mode into conditional CSS Custom Property

* auto scroll

* refactoring

* fix condition mistake

* scope.config.resolveVerticalDirection

* wrap up simple setDragImage solution

* bring back vm.notifyVisualUpdate and clean up

* make draggableSelector optional, fallback to element

* implement umb-block-grid-sorter for Area PreValue editor

* remove sortableJS dependency

* remove sortableJs from dependencies

* wups, bring back the comma

* removed sortablejs from package-lock

* finished implementation of sorter for PreValue Block Areas

* fix for FireFox shadowDom issue, contains temprorary code.

* stop auto scroll

* make full thing dragable

* fix firefox issue (applying translateZ)

* comment

* make block fit in context columns

* revert element to where it came from if sync could not succeed + clean up

* ensure block does not push the amount of columns, this occourse when dragging item around.

* take horizontalPlaceAfter into account

* implement horizontalPlaceAfter in Areas Prevalue editor

* clean up dependencies

* Shift related el to first in row or last in row when there is no horizontal room

* clean up and correct calculation

* remove unused attribute

* revert to using el.getBoundingClientRect(), as the config.draggableSelector is not available for the placeholder item.

* bind model via dedicated binding to ensure it stay connected with the source model

* Update src/Umbraco.Web.UI.Client/src/views/propertyeditors/blockgrid/prevalue/umb-block-grid-area-editor.html

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>

* fix eslint issues

* ensure missingColumnWidth is above 0

* Do not allow dragging something thats not found in the model.

* remove as this is not an error.

* update to Flexbox solution

* as the complex model does not change we can use single way binding

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
2022-11-22 09:27:13 +01:00
Anders Bjernerandnikolajlauridsen 65479706a9 NullOrWhiteSpaceAsNull should be nullable 2022-11-22 09:26:42 +01:00
niekvanderreestandnikolajlauridsen b3555eb374 Cherry pick #13373 to v10/dev 2022-11-22 09:24:06 +01:00
dependabot[bot]andJacob Overgaard 9791c4964f Bump engine.io and socket.io in /src/Umbraco.Web.UI.Client
Bumps [engine.io](https://github.com/socketio/engine.io) and [socket.io](https://github.com/socketio/socket.io). These dependencies needed to be updated together.

Updates `engine.io` from 6.1.3 to 6.2.1
- [Release notes](https://github.com/socketio/engine.io/releases)
- [Changelog](https://github.com/socketio/engine.io/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/engine.io/compare/6.1.3...6.2.1)

Updates `socket.io` from 4.4.1 to 4.5.3
- [Release notes](https://github.com/socketio/socket.io/releases)
- [Changelog](https://github.com/socketio/socket.io/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/socket.io/compare/4.4.1...4.5.3)

---
updated-dependencies:
- dependency-name: engine.io
  dependency-type: indirect
- dependency-name: socket.io
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-22 09:11:06 +01:00
dependabot[bot]andJacob Overgaard 0f4b2300ab Bump engine.io and socket.io in /src/Umbraco.Web.UI.Client
Bumps [engine.io](https://github.com/socketio/engine.io) and [socket.io](https://github.com/socketio/socket.io). These dependencies needed to be updated together.

Updates `engine.io` from 6.1.3 to 6.2.1
- [Release notes](https://github.com/socketio/engine.io/releases)
- [Changelog](https://github.com/socketio/engine.io/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/engine.io/compare/6.1.3...6.2.1)

Updates `socket.io` from 4.4.1 to 4.5.3
- [Release notes](https://github.com/socketio/socket.io/releases)
- [Changelog](https://github.com/socketio/socket.io/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/socket.io/compare/4.4.1...4.5.3)

---
updated-dependencies:
- dependency-name: engine.io
  dependency-type: indirect
- dependency-name: socket.io
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-22 09:10:08 +01:00
Warren BuckleyandGitHub a2e61b7899 Merge pull request #13453 from umbraco/v11/codespace-SQLite-as-container-feature
Codespaces: Adds SQLite to DevContainer via Features
2022-11-22 07:59:43 +00:00
Warren Buckley 16a1cda67c Uses the SQLite DevContainer Feature I wrote as GitHub won't write one 2022-11-21 22:42:41 +00:00
Kenn JacobsenandGitHub 48733e6132 Support explicit operation IDs (#13449) 2022-11-21 19:51:42 +01:00
Jan SkovgaardandGitHub 2288d98481 Block Grid Editor: Replace "TODO" text in titles (#13433) 2022-11-21 16:52:51 +01:00
4e98df799f v11: Umbraco Marketplace replaces packages repo (#13371)
* add lang keys for marketplace

* remove old 'repo' page and deprecate related services

* add new view for Umbraco Marketplace

* optimise margin/padding for other tabs

* mark Our Repository constants as obsolete

* improve css path to iframe slightly with more aliases and classnames

* remove style qs

* update URL of Marketplace

* add ng-controller with utitlities for future PostMessage API

* rename marketplace loaded function

* remove iframe postmessage logic for time being

* add handling of dynamic querystring params

* assume url does not change

* Added support for additional parameters for marketplace

* Update src/JsonSchema/AppSettings.cs

Fix styling issue

Co-authored-by: Ronald Barendse <ronald@barend.se>

* Update src/Umbraco.Core/Configuration/Models/MarketplaceSettings.cs

Fix styling issue

Co-authored-by: Ronald Barendse <ronald@barend.se>

* Update src/Umbraco.Core/Configuration/Models/MarketplaceSettings.cs

Make comment more descriptive

Co-authored-by: Ronald Barendse <ronald@barend.se>

* Update src/Umbraco.Core/Constants-Marketplace.cs

Fix styling issue

Co-authored-by: Ronald Barendse <ronald@barend.se>

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
Co-authored-by: Ronald Barendse <ronald@barend.se>
2022-11-18 15:06:24 +01:00
d089825537 Feature: Media Picker drag and drop upload directly on property editor (#13393)
* prototype drag and drop upload

* Add upload image endpoint

* Add MediaPickerThreeController.cs

* Revert "Add upload image endpoint"

This reverts commit 4bb5865480.

* Update IIOHelper dependency

* show preview when uploading a new media item

* open uploaded media in media entry editor

* map data from uploaded media entry to support cropper

* add crop data to uploaded media item

* remove media library buttons for media entries not created in the media library

* Implement temp images save & add to media picker 3

* Implement ITemporaryImageService

* Remove save logic from MediaPicker3PropertyEditor

* Dont use a TempImageDto

* Add GetByAlias endpoint

* Add additonal xml doc

* Refactor to take array of aliases

* Add FromQuery attribute

* Formatting

* add resource to get media types by alias

* validate file size and file type based on server variables

* Update OpenApi.json
Add media picker three to BackOfficeServerVariables

* rename endpoint to upload media

* Use baseurl Method

* Dont upload in rte folder

* pass params correctly to end point

* queue files before uploading

* handle invalid files

* progress bar design adjustments

* only create data url for images

* disable edit and name buttons when uploading

* fix missing error messages for invalid files

* add temp location to media entry

* Add startNode to TemporaryImageService.cs

* Refactor get by alias

* Rename to GetAllFiltered

* use getAllFiltered method

* remove autoselect option

* fix missing alias when selecting media type

* fix file filter

* don't overwrite invalid entries from dropping new files

* add disallowed files to filter

* remove console.log

* move media uploader logic to reusable function

* fix missing tmp location

* attach media type alias to the mediaEntry

* support readonly mode

* show discard changes when files has been dropped

* add disabled prop to button group

* emit events when upload queue starts and ends

* pass node to media picker property editor

* add service to keep track of all uploads in progress

* add upload in progress to uploadTracker when the queue starts and ends

* disabled buttons when any upload is in progress

* return a subscription to align with eventsService

* Fix up cases where StartNodeId was null

* scope css

* Show filename in dialog for selecting media type

* reuse translation from media library dropzone

* Don't check for only images

* Remove composer

* Add mediaTypeAlias to TemporaryImageService

* Rename ITemporaryImageService to ITemporaryMediaService

* prefix client side only props with $ so we don't send unnecessary data to the server

* use prefixed dataURL in media entry editor

* render icon for non images

* fix auto select media type

Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2022-11-18 11:47:42 +01:00
Nikolaj GeisleGitHubZeegaanMoleRonald Barendsedependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Blake WattJacob Overgaard
fb48ecb57f V11: merge dev to contrib (#13438)
* V11: add test flakyness reporting (#13386)

* update json-models-builders

* Add reporting to all before each loops

* Add commitId to env for pipelines

* Test reports correctly

* Bumb testhelper version

* Update playwright-testhelpers version

* Bumb playwright test-helper version

* Bumb playwright-testhelpers version

* Add AgentOs to yaml env

* Bumb playwright-testhelper version

* Try different AgentOS

* Revert "Try different AgentOS"

This reverts commit fc90620aef.

* Revert logo test

* Add missing semicolons

* Update package-lock.json

* Add reports to Blocklist tests

Co-authored-by: Zeegaan <nge@umbraco.dk>

* V10: AllowedUploadFiles appsetting not working (#13408)

* Add new Settings

* Use new settings instead of old ones

* Implement AllowedUploadedFiles value to be copied to AllowedUplayedFileExtensions

* Obsolete old settings

* Rename DisallowedUploadFileExtensions

* Implement same fix for DisallowedUploadFiles

* Use new settings for backoffice server variables

* Update the correct setting

Co-authored-by: Zeegaan <nge@umbraco.dk>

* V11: Add  compatibility suppressions (#13425)

* Add suprressions

* Revert "Add suprressions"

This reverts commit 1c924ee967.

* Update CompatibilitySuppressions.xml

Co-authored-by: Ronald Barendse <ronald@barend.se>

* Bump socket.io-parser from 4.0.4 to 4.0.5 in /src/Umbraco.Web.UI.Client

Bumps [socket.io-parser](https://github.com/socketio/socket.io-parser) from 4.0.4 to 4.0.5.
- [Release notes](https://github.com/socketio/socket.io-parser/releases)
- [Changelog](https://github.com/socketio/socket.io-parser/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/socket.io-parser/compare/4.0.4...4.0.5)

---
updated-dependencies:
- dependency-name: socket.io-parser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* update block grid panel name (#13325)

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>

* Bump async from 2.6.3 to 2.6.4 in /src/Umbraco.Web.UI.Client

Bumps [async](https://github.com/caolan/async) from 2.6.3 to 2.6.4.
- [Release notes](https://github.com/caolan/async/releases)
- [Changelog](https://github.com/caolan/async/blob/v2.6.4/CHANGELOG.md)
- [Commits](https://github.com/caolan/async/compare/v2.6.3...v2.6.4)

---
updated-dependencies:
- dependency-name: async
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump eventsource from 1.1.0 to 1.1.2 in /src/Umbraco.Web.UI.Client

Bumps [eventsource](https://github.com/EventSource/eventsource) from 1.1.0 to 1.1.2.
- [Release notes](https://github.com/EventSource/eventsource/releases)
- [Changelog](https://github.com/EventSource/eventsource/blob/master/HISTORY.md)
- [Commits](https://github.com/EventSource/eventsource/compare/v1.1.0...v1.1.2)

---
updated-dependencies:
- dependency-name: eventsource
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump minimist from 1.2.5 to 1.2.7 in /src/Umbraco.Web.UI.Client

Bumps [minimist](https://github.com/minimistjs/minimist) from 1.2.5 to 1.2.7.
- [Release notes](https://github.com/minimistjs/minimist/releases)
- [Changelog](https://github.com/minimistjs/minimist/blob/main/CHANGELOG.md)
- [Commits](https://github.com/minimistjs/minimist/compare/v1.2.5...v1.2.7)

---
updated-dependencies:
- dependency-name: minimist
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* Management API: SearchController improvements (#13420)

* remove typo of double PagedViewModel in response

* add providerProperties with custom formatter

* use a more descriptive variable name

* use a more descriptive variable name for property types

* generate new schema

Co-authored-by: Zeegaan <nge@umbraco.dk>

* Bump minimatch from 3.0.4 to 3.1.2 in /src/Umbraco.Web.UI.Client

Bumps [minimatch](https://github.com/isaacs/minimatch) from 3.0.4 to 3.1.2.
- [Release notes](https://github.com/isaacs/minimatch/releases)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.0.4...v3.1.2)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
Co-authored-by: Ronald Barendse <ronald@barend.se>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Blake Watt <bkclerke@users.noreply.github.com>
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
2022-11-18 09:00:43 +01:00
dependabot[bot]andNikolaj 695b5bd57a Bump minimatch from 3.0.4 to 3.1.2 in /src/Umbraco.Web.UI.Client
Bumps [minimatch](https://github.com/isaacs/minimatch) from 3.0.4 to 3.1.2.
- [Release notes](https://github.com/isaacs/minimatch/releases)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.0.4...v3.1.2)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-17 15:22:14 +01:00
dependabot[bot]andNikolaj f7a314cd6b Bump minimist from 1.2.5 to 1.2.7 in /src/Umbraco.Web.UI.Client
Bumps [minimist](https://github.com/minimistjs/minimist) from 1.2.5 to 1.2.7.
- [Release notes](https://github.com/minimistjs/minimist/releases)
- [Changelog](https://github.com/minimistjs/minimist/blob/main/CHANGELOG.md)
- [Commits](https://github.com/minimistjs/minimist/compare/v1.2.5...v1.2.7)

---
updated-dependencies:
- dependency-name: minimist
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-17 15:21:14 +01:00
dependabot[bot]andNikolaj 44d1c2d722 Bump eventsource from 1.1.0 to 1.1.2 in /src/Umbraco.Web.UI.Client
Bumps [eventsource](https://github.com/EventSource/eventsource) from 1.1.0 to 1.1.2.
- [Release notes](https://github.com/EventSource/eventsource/releases)
- [Changelog](https://github.com/EventSource/eventsource/blob/master/HISTORY.md)
- [Commits](https://github.com/EventSource/eventsource/compare/v1.1.0...v1.1.2)

---
updated-dependencies:
- dependency-name: eventsource
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-17 15:21:09 +01:00
dependabot[bot]andNikolaj 5e40b3f0d6 Bump async from 2.6.3 to 2.6.4 in /src/Umbraco.Web.UI.Client
Bumps [async](https://github.com/caolan/async) from 2.6.3 to 2.6.4.
- [Release notes](https://github.com/caolan/async/releases)
- [Changelog](https://github.com/caolan/async/blob/v2.6.4/CHANGELOG.md)
- [Commits](https://github.com/caolan/async/compare/v2.6.3...v2.6.4)

---
updated-dependencies:
- dependency-name: async
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-17 15:21:03 +01:00
dependabot[bot]andJacob Overgaard 7281c6ba26 Bump minimatch from 3.0.4 to 3.1.2 in /src/Umbraco.Web.UI.Client
Bumps [minimatch](https://github.com/isaacs/minimatch) from 3.0.4 to 3.1.2.
- [Release notes](https://github.com/isaacs/minimatch/releases)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.0.4...v3.1.2)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-17 15:20:35 +01:00
dependabot[bot]andJacob Overgaard 98da07cfb4 Bump minimatch from 3.0.4 to 3.1.2 in /src/Umbraco.Web.UI.Client
Bumps [minimatch](https://github.com/isaacs/minimatch) from 3.0.4 to 3.1.2.
- [Release notes](https://github.com/isaacs/minimatch/releases)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.0.4...v3.1.2)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-17 15:20:08 +01:00
267656d793 Management API: SearchController improvements (#13420)
* remove typo of double PagedViewModel in response

* add providerProperties with custom formatter

* use a more descriptive variable name

* use a more descriptive variable name for property types

* generate new schema

Co-authored-by: Zeegaan <nge@umbraco.dk>
2022-11-17 14:46:42 +01:00
dependabot[bot]andJacob Overgaard a4098ce0b1 Bump minimist from 1.2.5 to 1.2.7 in /src/Umbraco.Web.UI.Client
Bumps [minimist](https://github.com/minimistjs/minimist) from 1.2.5 to 1.2.7.
- [Release notes](https://github.com/minimistjs/minimist/releases)
- [Changelog](https://github.com/minimistjs/minimist/blob/main/CHANGELOG.md)
- [Commits](https://github.com/minimistjs/minimist/compare/v1.2.5...v1.2.7)

---
updated-dependencies:
- dependency-name: minimist
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-17 14:18:38 +01:00
dependabot[bot]andJacob Overgaard 8048a11944 Bump eventsource from 1.1.0 to 1.1.2 in /src/Umbraco.Web.UI.Client
Bumps [eventsource](https://github.com/EventSource/eventsource) from 1.1.0 to 1.1.2.
- [Release notes](https://github.com/EventSource/eventsource/releases)
- [Changelog](https://github.com/EventSource/eventsource/blob/master/HISTORY.md)
- [Commits](https://github.com/EventSource/eventsource/compare/v1.1.0...v1.1.2)

---
updated-dependencies:
- dependency-name: eventsource
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-17 14:18:30 +01:00
dependabot[bot]andJacob Overgaard ba8d2e87d5 Bump async from 2.6.3 to 2.6.4 in /src/Umbraco.Web.UI.Client
Bumps [async](https://github.com/caolan/async) from 2.6.3 to 2.6.4.
- [Release notes](https://github.com/caolan/async/releases)
- [Changelog](https://github.com/caolan/async/blob/v2.6.4/CHANGELOG.md)
- [Commits](https://github.com/caolan/async/compare/v2.6.3...v2.6.4)

---
updated-dependencies:
- dependency-name: async
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-17 14:18:27 +01:00
dependabot[bot]andJacob Overgaard d1f10f486d Bump eventsource from 1.1.0 to 1.1.2 in /src/Umbraco.Web.UI.Client
Bumps [eventsource](https://github.com/EventSource/eventsource) from 1.1.0 to 1.1.2.
- [Release notes](https://github.com/EventSource/eventsource/releases)
- [Changelog](https://github.com/EventSource/eventsource/blob/master/HISTORY.md)
- [Commits](https://github.com/EventSource/eventsource/compare/v1.1.0...v1.1.2)

---
updated-dependencies:
- dependency-name: eventsource
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-17 14:16:53 +01:00
dependabot[bot]andJacob Overgaard 55b7897d86 Bump minimist from 1.2.5 to 1.2.7 in /src/Umbraco.Web.UI.Client
Bumps [minimist](https://github.com/minimistjs/minimist) from 1.2.5 to 1.2.7.
- [Release notes](https://github.com/minimistjs/minimist/releases)
- [Changelog](https://github.com/minimistjs/minimist/blob/main/CHANGELOG.md)
- [Commits](https://github.com/minimistjs/minimist/compare/v1.2.5...v1.2.7)

---
updated-dependencies:
- dependency-name: minimist
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-17 14:16:07 +01:00
dependabot[bot]andJacob Overgaard cf6042ce37 Bump async from 2.6.3 to 2.6.4 in /src/Umbraco.Web.UI.Client
Bumps [async](https://github.com/caolan/async) from 2.6.3 to 2.6.4.
- [Release notes](https://github.com/caolan/async/releases)
- [Changelog](https://github.com/caolan/async/blob/v2.6.4/CHANGELOG.md)
- [Commits](https://github.com/caolan/async/compare/v2.6.3...v2.6.4)

---
updated-dependencies:
- dependency-name: async
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-17 14:15:39 +01:00
Blake WattandJacob Overgaard 3b08f4a964 update block grid panel name (#13325)
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
2022-11-17 14:11:25 +01:00
7239a78ad1 update block grid panel name (#13325)
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
2022-11-17 14:10:37 +01:00
dependabot[bot]andJacob Overgaard 9ec7b1ce49 Bump socket.io-parser from 4.0.4 to 4.0.5 in /src/Umbraco.Web.UI.Client
Bumps [socket.io-parser](https://github.com/socketio/socket.io-parser) from 4.0.4 to 4.0.5.
- [Release notes](https://github.com/socketio/socket.io-parser/releases)
- [Changelog](https://github.com/socketio/socket.io-parser/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/socket.io-parser/compare/4.0.4...4.0.5)

---
updated-dependencies:
- dependency-name: socket.io-parser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-17 13:59:38 +01:00
dependabot[bot]andJacob Overgaard 0415ed8267 Bump socket.io-parser from 4.0.4 to 4.0.5 in /src/Umbraco.Web.UI.Client
Bumps [socket.io-parser](https://github.com/socketio/socket.io-parser) from 4.0.4 to 4.0.5.
- [Release notes](https://github.com/socketio/socket.io-parser/releases)
- [Changelog](https://github.com/socketio/socket.io-parser/blob/main/CHANGELOG.md)
- [Commits](https://github.com/socketio/socket.io-parser/compare/4.0.4...4.0.5)

---
updated-dependencies:
- dependency-name: socket.io-parser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-17 13:59:11 +01:00
MoleandRonald Barendse f18209f616 V11: Add compatibility suppressions (#13425)
* Add suprressions

* Revert "Add suprressions"

This reverts commit 1c924ee967.

* Update CompatibilitySuppressions.xml

Co-authored-by: Ronald Barendse <ronald@barend.se>
2022-11-17 13:56:09 +01:00
0042343e0b V11: Add compatibility suppressions (#13425)
* Add suprressions

* Revert "Add suprressions"

This reverts commit 1c924ee967.

* Update CompatibilitySuppressions.xml

Co-authored-by: Ronald Barendse <ronald@barend.se>
2022-11-17 13:54:14 +01:00
Warren BuckleyandGitHub 76078b29dc Merge pull request #13428 from umbraco/v11/codespaces-updated-readme
Codespaces: Updated readme
2022-11-17 10:38:58 +00:00
Warren Buckley 74b7ee142c Updated readme 2022-11-17 10:35:18 +00:00
Anders BjernerandMichael Latouche 5ffc2b1ccb NullOrWhiteSpaceAsNull should be nullable 2022-11-17 11:13:49 +01:00
5ce7cd39b9 V10: AllowedUploadFiles appsetting not working (#13408)
* Add new Settings

* Use new settings instead of old ones

* Implement AllowedUploadedFiles value to be copied to AllowedUplayedFileExtensions

* Obsolete old settings

* Rename DisallowedUploadFileExtensions

* Implement same fix for DisallowedUploadFiles

* Use new settings for backoffice server variables

* Update the correct setting

Co-authored-by: Zeegaan <nge@umbraco.dk>
2022-11-17 09:55:54 +01:00
d545c1fa1e V10: AllowedUploadFiles appsetting not working (#13408)
* Add new Settings

* Use new settings instead of old ones

* Implement AllowedUploadedFiles value to be copied to AllowedUplayedFileExtensions

* Obsolete old settings

* Rename DisallowedUploadFileExtensions

* Implement same fix for DisallowedUploadFiles

* Use new settings for backoffice server variables

* Update the correct setting

Co-authored-by: Zeegaan <nge@umbraco.dk>
2022-11-17 09:55:27 +01:00
22bcc9b054 V11: add test flakyness reporting (#13386)
* update json-models-builders

* Add reporting to all before each loops

* Add commitId to env for pipelines

* Test reports correctly

* Bumb testhelper version

* Update playwright-testhelpers version

* Bumb playwright test-helper version

* Bumb playwright-testhelpers version

* Add AgentOs to yaml env

* Bumb playwright-testhelper version

* Try different AgentOS

* Revert "Try different AgentOS"

This reverts commit fc90620aef.

* Revert logo test

* Add missing semicolons

* Update package-lock.json

* Add reports to Blocklist tests

Co-authored-by: Zeegaan <nge@umbraco.dk>
2022-11-17 09:27:47 +01:00
Sebastiaan Janssen 60765b976c Merge branch 'v11/dev' into v11/contrib
# Conflicts:
#	.gitignore
#	src/Umbraco.Cms.ManagementApi/ManagementApiComposer.cs
#	src/Umbraco.Cms.ManagementApi/OpenApi.json
2022-11-17 09:26:44 +01:00
Niels LyngsøandNikolaj dc2358f4f0 Block Grid Editor: Removal of the forced placement feature (#13400)
* removal of the forceLeft/forceRight code

* removal of forced placement in css

* bring back removed code
2022-11-17 08:42:18 +01:00
Niels LyngsøandNikolaj 9b13a260e9 Block Grid Editor: Removal of the forced placement feature (#13400)
* removal of the forceLeft/forceRight code

* removal of forced placement in css

* bring back removed code
2022-11-17 08:41:21 +01:00
Jacob OvergaardandNikolaj 8a04f9fd99 v11: Fix for TinyMCE dropdowns (#13417)
* Set higher z-index for TinyMCE overlays as they were set below that of our property editor overlays

Fixes #13414

* replace !important with more specificity
2022-11-17 08:39:47 +01:00
Warren BuckleyandGitHub 137b4eba68 Merge pull request #13421 from umbraco/v11/codespace-fwd-port-smtp4dev
Codespaces: List port 5000 for Smtp4Dev
2022-11-16 16:34:59 +00:00
Warren Buckley dbc8c2680e List port 5000 for Smtp4Dev 2022-11-16 16:21:05 +00:00
Jacob OvergaardandGitHub f2de42f38e v11: Fix for TinyMCE dropdowns (#13417)
* Set higher z-index for TinyMCE overlays as they were set below that of our property editor overlays

Fixes #13414

* replace !important with more specificity
2022-11-16 11:48:18 +01:00
Warren BuckleyandGitHub 079d2f91b9 Merge pull request #13416 from umbraco/v11/codespaces-auto-open-codespace-readme
CodeSpaces: Scaffold out a file for a specific Codespace readme to auto open
2022-11-15 16:58:12 +00:00
Warren Buckley d3905b4c5c Scaffold out a file for a specific Codespace readme 2022-11-15 16:16:08 +00:00
7af8a407d3 Management API operation IDs (#13374)
* add a custom operationId generator to swagger operations based on the name of the action

* mark 'total' and 'items' as required in all paged models seeing as they should be there always non-nullable

* fix action typo collect -> rebuild to avoid duplicates

* fix operations for server status + version

* add factory to format custom operation ids

* Revert "fix operations for server status + version"

This reverts commit 066a59e1c2.

* Throw exception if no relative path and remove template placeholders completely

* Revert "Throw exception if no relative path and remove template placeholders completely"

This reverts commit 40af0721d6.

* Move source generated regex statements to its own file (#13410)

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
2022-11-15 15:43:12 +01:00
Warren BuckleyandGitHub be8b083746 Merge pull request #13409 from umbraco/v11/codespace-sqlite-extension
Codespaces: Adds SQLite extension & ensures SQLite thats needed for it
2022-11-15 14:01:51 +00:00
Warren Buckley 2f976b41b4 Adds SQLite extension & ensures SQLite thats needed for it 2022-11-15 13:33:26 +00:00
Warren BuckleyandGitHub c7e78bcb72 Merge pull request #13407 from umbraco/v11/codespace-remove-build-before-launch
Codespaces: Removes the explicit build before attaching debugger launch task
2022-11-15 11:52:23 +00:00
Warren Buckley 704dda9575 Removes the explicit build before attaching debugger launch task 2022-11-15 11:23:53 +00:00
Warren BuckleyandGitHub d4949ae613 Merge pull request #13405 from umbraco/v11/codespaces-prebuild-dev-cert
Codespaces: dotnet devcert in the docker was not working so moved to updateContentCommand
2022-11-15 10:47:53 +00:00
Warren BuckleyandGitHub f0a34bd2a4 Merge branch 'v11/contrib' into v11/codespaces-prebuild-dev-cert 2022-11-15 10:19:39 +00:00
Warren BuckleyandGitHub aaf76ec5b8 Merge pull request #13401 from umbraco/v11/feature/codespaces-port-forward-config
Enable CodeSpaces PortForwarding Config
2022-11-15 10:14:35 +00:00
Warren Buckley 1d78a06509 The devcert in the docker was not working so moved to updateContentCommand 2022-11-15 10:14:29 +00:00
Sean Maloney c365c64bea 13402 - Update PreviewAuthenticationMiddleware to support chunked authentication cookies 2022-11-15 10:12:10 +00:00
Warren Buckley b32b0371ae Open Browser config is not working for some unknown reason 2022-11-15 09:47:10 +00:00
Warren Buckley 0cad30a8fa Adds SMTP4Dev and opens browser to HTTPs Umbraco 2022-11-15 08:55:39 +00:00
Warren Buckley 5d3b2e2e8a Enable CodeSpaces PortForwarding Config as SMTP4Dev did not auto appear in new prebuilds 2022-11-15 08:43:21 +00:00
Jacob OvergaardandNikolaj 6bc537713c v11: Rich text editor - remove distraction-free mode and optimise inline mode (#13394)
* combine 'inline' and 'distraction-free' modes with the quickbars plugin

* remove 'distraction-free' and map to 'inline'

* remove container overrides for 'distraction-free'
2022-11-15 09:13:14 +01:00
Warren BuckleyandGitHub 35355ce828 Merge pull request #13398 from umbraco/v11/feature/codespace-prebuilds-take-two
Trying Codespace prebuilds to use updateContentCommand that the docs refer to
2022-11-14 15:14:52 +00:00
Warren Buckley a4f8a51c57 Trying Codespace prebuilds to use updateContentCommand that the docs refer to 2022-11-14 15:11:15 +00:00
Jacob OvergaardandGitHub 3a8024c0c6 v11: Rich text editor - remove distraction-free mode and optimise inline mode (#13394)
* combine 'inline' and 'distraction-free' modes with the quickbars plugin

* remove 'distraction-free' and map to 'inline'

* remove container overrides for 'distraction-free'
2022-11-14 16:01:01 +01:00
Warren BuckleyandGitHub f5ff3e87d2 Merge pull request #13396 from umbraco/warrenbuckley-patch-1
Adds Open in GitHub Codespaces to main readme
2022-11-14 14:37:02 +00:00
Warren BuckleyandGitHub cf96aefb86 Adds Open in GitHub Codespaces to main readme
Adds Open in GitHub Codespaces to main readme next to other badges we have at the top of the readme
2022-11-14 14:36:26 +00:00
Warren BuckleyandGitHub dd895b1736 Merge pull request #13395 from umbraco/v11/feature/codespaces-prebuild-dotnetbuild
Adds dotnet build command for onCreateCommand to use in Prebuilds of CodeSpaces
2022-11-14 14:31:56 +00:00
Warren Buckley 3c709cfa24 Adds dotnet build command for onCreateCommand to use in Prebuilds of CodeSpaces 2022-11-14 14:10:52 +00:00
Nikolaj d03e0443b1 Merge branch 'release/11.0' into v11/dev
# Conflicts:
#	version.json
2022-11-14 14:41:44 +01:00
Nikolaj 0356aade30 Bump version 2022-11-14 12:44:26 +01:00
Nikolai Emil DammandNikolaj c2047d1d6e Remove nullability from AdditionalData on ContentItemDisplay (#13380)
@Zeegaan We have a use case where we need to set a value in the AdditionalData dictionary in a NotificationHandler, but as it can be null, it requires reflection to make sure that is not the case. As such, it would be nice if the following change could be implemented to ensure it is never null.
2022-11-14 12:42:43 +01:00
Bjarke BergandNikolaj 13308c3610 Obsolete old migrations and exif code (#13382)
* Obsoleted and deleted internal migrations + Enabled breaking changes checks agains v11.0.0-rc1

* Obsoleted and deleted internal exif stuff

* Added CompatibilitySuppressions.xml

* Change GenerateCompatibilitySuppressionFile
2022-11-14 12:40:22 +01:00
Bjarke BergandGitHub 616d092577 Obsolete old migrations and exif code (#13382)
* Obsoleted and deleted internal migrations + Enabled breaking changes checks agains v11.0.0-rc1

* Obsoleted and deleted internal exif stuff

* Added CompatibilitySuppressions.xml

* Change GenerateCompatibilitySuppressionFile
2022-11-14 12:40:06 +01:00
Warren BuckleyandGitHub 888488e7e4 Merge pull request #13392 from umbraco/v11/feature/codespace-gh-cli-ssh-support
Adds the SSH feature to allow the GitHub CLI SSH command to work
2022-11-14 11:34:27 +00:00
Mole 233c9df1d6 V11: InMemory - only add models assembly as runtime view reference if it exists (#13390)
* Only add models assembly as runtime view reference if it exists

* Add in memory metadata reference properly

compilations are readonly
2022-11-14 12:19:35 +01:00
Niels LyngsøandNikolaj e321982f44 remove console log 2022-11-14 12:19:31 +01:00
Niels LyngsøandNikolaj 27ec62016d Block Grid Editor Improvements (#13282) 2022-11-14 12:19:24 +01:00
Niels LyngsøandNikolaj 0e1095061e remove console log 2022-11-14 12:17:12 +01:00
Niels LyngsøandNikolaj 1bd03374dc Block Grid Editor Improvements (#13282) 2022-11-14 12:17:03 +01:00
MoleandGitHub a9e605d532 V11: InMemory - only add models assembly as runtime view reference if it exists (#13390)
* Only add models assembly as runtime view reference if it exists

* Add in memory metadata reference properly

compilations are readonly
2022-11-14 11:37:55 +01:00
Warren Buckley bd4553d8a4 Adds the SSH feature to allow the GitHub CLI SSH command to work 2022-11-14 10:01:34 +00:00
Matthew CareandGitHub 77859719f2 Batch media upload (#12947)
* Allow simultaneous uploads

Upload files in batches for faster uploading

* Fix concurrency issue

Many requests to add files coming at the same time can cause duplicate folders to be created.
In some cases, SQL exceptions can throw, and cause the application to hang.
Add Semaphore to process files on a single thread.

* Replace Semaphore with a Scope Provider

As suggested in the PR comments, replaced Semaphore with ICoreScopeProvider

* Revert "Replace Semaphore with a Scope Provider"

This reverts commit 228e1010c6.

* Add comment to make configurable

Out of scope of the PR, but this should be configurable in appsettings

* Apply PR 13345

Apply PR 13345 to resolve "freezing" issue caused by unhandled errors

* Account for currently processing items

If you drag files into the dropzone whilst other files are uploading then the "total" count is incorrect.
2022-11-14 07:49:18 +01:00
Andreas ZerbstandGitHub bee6adfe27 V11: Add new blocklist acceptance tests (#13299)
* Created test for block list editor

* Added a couple of test for the block list editor

* Changed parts of builder

* Split the test into two files instead of one

* Updated and added test for blockListEditor

* Updated version

* Fixed so it now targets the correct selector

* Removed unnecessary login in the afterEach

* Fixed up the test so they are now using constants and the correct helpers

* Bumped version

* Updated the package-lock

* Added local function to battle code reuse!

* Updated the path of the image for the test 'can edit a block list editor'

* Placed an expect before the button so it waits to click the button till it's visible

* Yet another fix for the imagePath and a missing "
2022-11-14 07:01:33 +01:00
Warren BuckleyandGitHub efa069f1ed Merge pull request #13387 from umbraco/v11/codespaces
Adds in .NET 7 SDK to GitHub CodeSpaces
2022-11-11 19:38:17 +00:00
Warren Buckley 4d1a1ba413 Adds in .NET SDK using the Feature approach in devcontainer.json until NET7 image is live 2022-11-11 19:01:54 +00:00
Nikolai Emil DammandGitHub ad0582a5aa Remove nullability from AdditionalData on ContentItemDisplay (#13380)
@Zeegaan We have a use case where we need to set a value in the AdditionalData dictionary in a NotificationHandler, but as it can be null, it requires reflection to make sure that is not the case. As such, it would be nice if the following change could be implemented to ensure it is never null.
2022-11-10 14:13:10 +01:00
Kenn JacobsenandNikolaj 69c6eae7a2 Move block grid single area rendering to its own dedicated view (#13359) 2022-11-09 09:52:46 +01:00
Kenn JacobsenandNikolaj d11ed8acff Move block grid single area rendering to its own dedicated view (#13359) 2022-11-09 09:51:11 +01:00
Bjarke BergandNikolaj 84240d90b6 Updated to aspnetcore 7.0.0 (#13372) 2022-11-09 09:33:22 +01:00
Bjarke BergandGitHub 73afd29b55 Updated to aspnetcore 7.0.0 (#13372) 2022-11-09 09:30:07 +01:00
c1e9775f29 Merge new backoffice changes to release branch (#13368)
* New backoffice: Cleanup management API routes (#13296)

* Rename ModelsBuilderDashboard folder to ModelsBuilder

* Fix modelsbuilder paths and related naming

* Rename analytics route to telemetry

* Fix controller bases - routes and tags

* Fix items route

* Fix more controllerbase routes

* Fix route

* Fix OpenApi file

* Merging DictionaryItem and Dictionary

* Fix TrackedReferences naming

* Update OpenApi file

* Rename Analytics* related types to Telemetry*

* New Backoffice: Return AnalyticsLevelViewModel from Telemetry/ (#13298)

* Return TelemetryLevelViewModel instead of TelemetryLevel

* Fix schema

* Change telemetry/current to telemetry/level

(cherry picked from commit f2b8494c669cbbf04b623753abbf1be211973aa9)

* Add contants for tree and recycle-bin subpaths

(cherry picked from commit 4449f56bc00832ea6d357a3854b454791c80e0e2)

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* OpenId Connect authentication for new management API (#13318)

* First attempt at OpenIddict

* Making headway and more TODOs

* Redo current policies for multiple schemas + clean up auth controller

* Fix bad merge

* Clean up some more test code

* Fix spacing

* Include AddAuthentication() in OpenIddict addition

* A little more clean-up

* Move application creation to its own implementation + prepare for middleware to handle valid callback URL

* Enable refresh token flow

* Fix bad merge from v11/dev

* Support auth for Swagger and Postman in non-production environments + use default login screen for back-office logins

* Add workaround to client side login handling so the OAuth return URL is not corrupted before redirection

* Add temporary configuration handling for new backoffice

* Restructure the code somewhat, move singular responsibility from management API project

* Add recurring task for cleaning up old tokens in the DB

* Fix bad merge + make auth controller align with the new management API structure

* Explicitly handle the new management API path as a backoffice path (NOTE: this is potentially behaviorally breaking!)

* Redo handle the new management API requests as backoffice requests, this time in a non-breaking way

* Add/update TODOs

* Revert duplication of current auth policies for OpenIddict (as it breaks everything for V11 without the new management APIs) and introduce a dedicated PoC policy setup for OpenIddict.

* Fix failing unit tests

* Update src/Umbraco.Cms.ManagementApi/Security/BackOfficeApplicationManager.cs

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

* Update src/Umbraco.Cms.ManagementApi/Security/BackOfficeApplicationManager.cs

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

* Update src/Umbraco.Cms.ManagementApi/Security/BackOfficeApplicationManager.cs

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

* Update src/Umbraco.Core/Routing/UmbracoRequestPaths.cs

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

* Use Swashbuckle instead of NSwag (#13350)

* First attempt at OpenIddict

* Making headway and more TODOs

* Redo current policies for multiple schemas + clean up auth controller

* Fix bad merge

* Clean up some more test code

* Fix spacing

* Include AddAuthentication() in OpenIddict addition

* A little more clean-up

* Move application creation to its own implementation + prepare for middleware to handle valid callback URL

* Enable refresh token flow

* Fix bad merge from v11/dev

* Support auth for Swagger and Postman in non-production environments + use default login screen for back-office logins

* Add workaround to client side login handling so the OAuth return URL is not corrupted before redirection

* Add temporary configuration handling for new backoffice

* Restructure the code somewhat, move singular responsibility from management API project

* Add recurring task for cleaning up old tokens in the DB

* Fix bad merge + make auth controller align with the new management API structure

* Explicitly handle the new management API path as a backoffice path (NOTE: this is potentially behaviorally breaking!)

* Redo handle the new management API requests as backoffice requests, this time in a non-breaking way

* Add/update TODOs

* Replace NSwag with Swashbuckle and clean up unnecessary client secret workaround

* Revert duplication of current auth policies for OpenIddict (as it breaks everything for V11 without the new management APIs) and introduce a dedicated PoC policy setup for OpenIddict.

* Fix failing unit tests

* A little niceness + export new OpenApi.json and fix path in contract unit test

* Redo after merge with v11/dev + filter out unwanted mime types

* Remove CreatedResult and NotFoundObjectResult where possible

* Custom schema IDs - no more "ViewModel" postfix and make generic lists look less clunky too

* A little more explanation for generic schema ID generation

* Force Swashbuckle to use enum string names

* Update OpenApi.json to match new enum string values

* Add clarifying comment about weird looking construct

Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2022-11-08 12:48:46 +01:00
MoleandGitHub 54131605be V12: Replace ntext with nvarchar(max) in database (#13351)
* Update UnPublishedContentPropertyCacheCompressionOptions to also accept Nvarchar

* Update DTOs to use nvarchar(max)

* Add Migration

* Simplify migration a bit

* Refactor column migration for reuse

* Add remaning column migrations

* Support non-nullable column

* Make it idempotent

* Skip SQLite

* Revert "Update UnPublishedContentPropertyCacheCompressionOptions to also accept Nvarchar"

This reverts commit d432d165de.

* Obsolete NTEXT

* Ignore case when checking column type
2022-11-08 12:26:40 +01:00
Nathan Woulfeandnikolajlauridsen 65803e2645 add workflow to schema (#13349)
* add workflow to schema

* add licenses to CMSDefinition - intentionally only adding to schema, not registered as options
2022-11-08 11:07:30 +01:00
+1 64e7933d57 V11: Merge dev to contrib (#13363)
* Bump version

* Add IContextCache to deploy connectors (#13287)

* Add IContextCache and implementations

* Update connector interfaces to use IContextCache

* Minor cleanup

* Move DeployContextCache prefix to constant

* Move default implementations to obsolete methods

* Remove DeployContextCache and DictionaryCache

Co-authored-by: Andy Butland <abutland73@gmail.com>

* Add IContextCache to deploy connectors (#13287)

* Add IContextCache and implementations

* Update connector interfaces to use IContextCache

* Minor cleanup

* Move DeployContextCache prefix to constant

* Move default implementations to obsolete methods

* Remove DeployContextCache and DictionaryCache

Co-authored-by: Andy Butland <abutland73@gmail.com>

* Parse lockId as invariant (#13284)

Co-authored-by: Zeegaan <nge@umbraco.dk>

* Fix Sqlite database locking issue (#13246)

* Add locking for creating scope

* Lock the repository instead

* Add scope in action instead of locking in service

* Fix up post-merge

Co-authored-by: Zeegaan <nge@umbraco.dk>

* Bump version to next minor

* Fix for UseExceptionHandler no longer working since v10.3 RC (#13218)

* Fix for UseExceptionHandler no longer working since v10.3 RC

* Update the management api path to match the new one

Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>

* New backoffice: Cleanup management API routes (#13296)

* Rename ModelsBuilderDashboard folder to ModelsBuilder

* Fix modelsbuilder paths and related naming

* Rename analytics route to telemetry

* Fix controller bases - routes and tags

* Fix items route

* Fix more controllerbase routes

* Fix route

* Fix OpenApi file

* Merging DictionaryItem and Dictionary

* Fix TrackedReferences naming

* Update OpenApi file

* Rename Analytics* related types to Telemetry*

* New Backoffice: Return AnalyticsLevelViewModel from Telemetry/ (#13298)

* Return TelemetryLevelViewModel instead of TelemetryLevel

* Fix schema

* Change telemetry/current to telemetry/level

(cherry picked from commit f2b8494c669cbbf04b623753abbf1be211973aa9)

* Add contants for tree and recycle-bin subpaths

(cherry picked from commit 4449f56bc00832ea6d357a3854b454791c80e0e2)

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Updated Smidge, Npoco and MailKit (#13310)

* Updated Smidge, Npoco and MailKit

* Added missing command (after breaking interface in npoco)

* OpenId Connect authentication for new management API (#13318)

* First attempt at OpenIddict

* Making headway and more TODOs

* Redo current policies for multiple schemas + clean up auth controller

* Fix bad merge

* Clean up some more test code

* Fix spacing

* Include AddAuthentication() in OpenIddict addition

* A little more clean-up

* Move application creation to its own implementation + prepare for middleware to handle valid callback URL

* Enable refresh token flow

* Fix bad merge from v11/dev

* Support auth for Swagger and Postman in non-production environments + use default login screen for back-office logins

* Add workaround to client side login handling so the OAuth return URL is not corrupted before redirection

* Add temporary configuration handling for new backoffice

* Restructure the code somewhat, move singular responsibility from management API project

* Add recurring task for cleaning up old tokens in the DB

* Fix bad merge + make auth controller align with the new management API structure

* Explicitly handle the new management API path as a backoffice path (NOTE: this is potentially behaviorally breaking!)

* Redo handle the new management API requests as backoffice requests, this time in a non-breaking way

* Add/update TODOs

* Revert duplication of current auth policies for OpenIddict (as it breaks everything for V11 without the new management APIs) and introduce a dedicated PoC policy setup for OpenIddict.

* Fix failing unit tests

* Update src/Umbraco.Cms.ManagementApi/Security/BackOfficeApplicationManager.cs

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

* Update src/Umbraco.Cms.ManagementApi/Security/BackOfficeApplicationManager.cs

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

* Update src/Umbraco.Cms.ManagementApi/Security/BackOfficeApplicationManager.cs

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

* Update src/Umbraco.Core/Routing/UmbracoRequestPaths.cs

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

* V11: Using IFileProvider to access assets added from packages (#13141)

* Creating a FileProviderFactory for getting the package.manifest and grid.editors.config.js files through a file provider

* Collecting the package.manifest-s from different sources

* Searching different sources for grid.editors.config.js

* Using an IFileProvider to collect all tours

* Refactoring IconService.cs

* Typo

* Optimizations when looping through the file system

* Moving WebRootFileProviderFactory to Umbraco.Web.Common proj

* Removes double registering

* pluginLangFileSources includes the localPluginFileSources

* Comments

* Remove linq from foreach

* Change workflow for grid.editors.config.js so we check first physical file, then RCL, then Embedded

* Clean up

* Check if config dir exists

* Discover nested package.manifest files

* Fix IFileInfo.PhysicalPath check

* Revert 712810e1fd as that way files in content root are preferred over those in web root

* Adding comments

* Refactoring

* Remove PhysicalPath check

* Fix registration of WebRootFileProviderFactory

* Use Swashbuckle instead of NSwag (#13350)

* First attempt at OpenIddict

* Making headway and more TODOs

* Redo current policies for multiple schemas + clean up auth controller

* Fix bad merge

* Clean up some more test code

* Fix spacing

* Include AddAuthentication() in OpenIddict addition

* A little more clean-up

* Move application creation to its own implementation + prepare for middleware to handle valid callback URL

* Enable refresh token flow

* Fix bad merge from v11/dev

* Support auth for Swagger and Postman in non-production environments + use default login screen for back-office logins

* Add workaround to client side login handling so the OAuth return URL is not corrupted before redirection

* Add temporary configuration handling for new backoffice

* Restructure the code somewhat, move singular responsibility from management API project

* Add recurring task for cleaning up old tokens in the DB

* Fix bad merge + make auth controller align with the new management API structure

* Explicitly handle the new management API path as a backoffice path (NOTE: this is potentially behaviorally breaking!)

* Redo handle the new management API requests as backoffice requests, this time in a non-breaking way

* Add/update TODOs

* Replace NSwag with Swashbuckle and clean up unnecessary client secret workaround

* Revert duplication of current auth policies for OpenIddict (as it breaks everything for V11 without the new management APIs) and introduce a dedicated PoC policy setup for OpenIddict.

* Fix failing unit tests

* A little niceness + export new OpenApi.json and fix path in contract unit test

* Redo after merge with v11/dev + filter out unwanted mime types

* Remove CreatedResult and NotFoundObjectResult where possible

* Custom schema IDs - no more "ViewModel" postfix and make generic lists look less clunky too

* A little more explanation for generic schema ID generation

* Force Swashbuckle to use enum string names

* Update OpenApi.json to match new enum string values

* Add clarifying comment about weird looking construct

* add workflow to schema (#13349)

* add workflow to schema

* add licenses to CMSDefinition - intentionally only adding to schema, not registered as options

Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
Co-authored-by: Ronald Barendse <ronald@barend.se>
Co-authored-by: Andy Butland <abutland73@gmail.com>
Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Justin Neville <67802060+justin-nevitech@users.noreply.github.com>
Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
Co-authored-by: Nathan Woulfe <nathan@nathanw.com.au>
2022-11-08 08:21:55 +01:00
Nathan WoulfeandGitHub 8074c3fb62 add workflow to schema (#13349)
* add workflow to schema

* add licenses to CMSDefinition - intentionally only adding to schema, not registered as options
2022-11-07 16:01:11 +01:00
Kenn JacobsenandGitHub 2a5c70a28b Use Swashbuckle instead of NSwag (#13350)
* First attempt at OpenIddict

* Making headway and more TODOs

* Redo current policies for multiple schemas + clean up auth controller

* Fix bad merge

* Clean up some more test code

* Fix spacing

* Include AddAuthentication() in OpenIddict addition

* A little more clean-up

* Move application creation to its own implementation + prepare for middleware to handle valid callback URL

* Enable refresh token flow

* Fix bad merge from v11/dev

* Support auth for Swagger and Postman in non-production environments + use default login screen for back-office logins

* Add workaround to client side login handling so the OAuth return URL is not corrupted before redirection

* Add temporary configuration handling for new backoffice

* Restructure the code somewhat, move singular responsibility from management API project

* Add recurring task for cleaning up old tokens in the DB

* Fix bad merge + make auth controller align with the new management API structure

* Explicitly handle the new management API path as a backoffice path (NOTE: this is potentially behaviorally breaking!)

* Redo handle the new management API requests as backoffice requests, this time in a non-breaking way

* Add/update TODOs

* Replace NSwag with Swashbuckle and clean up unnecessary client secret workaround

* Revert duplication of current auth policies for OpenIddict (as it breaks everything for V11 without the new management APIs) and introduce a dedicated PoC policy setup for OpenIddict.

* Fix failing unit tests

* A little niceness + export new OpenApi.json and fix path in contract unit test

* Redo after merge with v11/dev + filter out unwanted mime types

* Remove CreatedResult and NotFoundObjectResult where possible

* Custom schema IDs - no more "ViewModel" postfix and make generic lists look less clunky too

* A little more explanation for generic schema ID generation

* Force Swashbuckle to use enum string names

* Update OpenApi.json to match new enum string values

* Add clarifying comment about weird looking construct
2022-11-04 14:46:35 +01:00
nikolajlauridsen 0ed3121eaa Bump version 2022-11-03 09:38:33 +01:00
Elitsa Marinovskaandnikolajlauridsen f4eac20eaf V11: Using IFileProvider to access assets added from packages (#13141)
* Creating a FileProviderFactory for getting the package.manifest and grid.editors.config.js files through a file provider

* Collecting the package.manifest-s from different sources

* Searching different sources for grid.editors.config.js

* Using an IFileProvider to collect all tours

* Refactoring IconService.cs

* Typo

* Optimizations when looping through the file system

* Moving WebRootFileProviderFactory to Umbraco.Web.Common proj

* Removes double registering

* pluginLangFileSources includes the localPluginFileSources

* Comments

* Remove linq from foreach

* Change workflow for grid.editors.config.js so we check first physical file, then RCL, then Embedded

* Clean up

* Check if config dir exists

* Discover nested package.manifest files

* Fix IFileInfo.PhysicalPath check

* Revert 712810e1fd as that way files in content root are preferred over those in web root

* Adding comments

* Refactoring

* Remove PhysicalPath check

* Fix registration of WebRootFileProviderFactory
2022-11-03 09:17:42 +01:00
Elitsa MarinovskaandGitHub 897cf4ca19 V11: Using IFileProvider to access assets added from packages (#13141)
* Creating a FileProviderFactory for getting the package.manifest and grid.editors.config.js files through a file provider

* Collecting the package.manifest-s from different sources

* Searching different sources for grid.editors.config.js

* Using an IFileProvider to collect all tours

* Refactoring IconService.cs

* Typo

* Optimizations when looping through the file system

* Moving WebRootFileProviderFactory to Umbraco.Web.Common proj

* Removes double registering

* pluginLangFileSources includes the localPluginFileSources

* Comments

* Remove linq from foreach

* Change workflow for grid.editors.config.js so we check first physical file, then RCL, then Embedded

* Clean up

* Check if config dir exists

* Discover nested package.manifest files

* Fix IFileInfo.PhysicalPath check

* Revert 712810e1fd as that way files in content root are preferred over those in web root

* Adding comments

* Refactoring

* Remove PhysicalPath check

* Fix registration of WebRootFileProviderFactory
2022-11-02 15:26:07 +01:00
Nikolaj GeisleandNikolaj 8243a66dee Add guard statement (#13340) 2022-11-02 13:12:55 +01:00
dc9d4155a3 OpenId Connect authentication for new management API (#13318)
* First attempt at OpenIddict

* Making headway and more TODOs

* Redo current policies for multiple schemas + clean up auth controller

* Fix bad merge

* Clean up some more test code

* Fix spacing

* Include AddAuthentication() in OpenIddict addition

* A little more clean-up

* Move application creation to its own implementation + prepare for middleware to handle valid callback URL

* Enable refresh token flow

* Fix bad merge from v11/dev

* Support auth for Swagger and Postman in non-production environments + use default login screen for back-office logins

* Add workaround to client side login handling so the OAuth return URL is not corrupted before redirection

* Add temporary configuration handling for new backoffice

* Restructure the code somewhat, move singular responsibility from management API project

* Add recurring task for cleaning up old tokens in the DB

* Fix bad merge + make auth controller align with the new management API structure

* Explicitly handle the new management API path as a backoffice path (NOTE: this is potentially behaviorally breaking!)

* Redo handle the new management API requests as backoffice requests, this time in a non-breaking way

* Add/update TODOs

* Revert duplication of current auth policies for OpenIddict (as it breaks everything for V11 without the new management APIs) and introduce a dedicated PoC policy setup for OpenIddict.

* Fix failing unit tests

* Update src/Umbraco.Cms.ManagementApi/Security/BackOfficeApplicationManager.cs

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

* Update src/Umbraco.Cms.ManagementApi/Security/BackOfficeApplicationManager.cs

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

* Update src/Umbraco.Cms.ManagementApi/Security/BackOfficeApplicationManager.cs

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

* Update src/Umbraco.Core/Routing/UmbracoRequestPaths.cs

Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2022-11-01 11:15:31 +01:00
MoleandGitHub 174874eb11 Fix casing in fileSystemBasePath (#13306) 2022-11-01 08:41:50 +01:00
Bjarke BergandNikolaj 68676db082 Updated Smidge, Npoco and MailKit (#13310)
* Updated Smidge, Npoco and MailKit

* Added missing command (after breaking interface in npoco)
2022-10-31 08:28:59 +01:00
Bjarke BergandGitHub 746ab4bb23 Updated Smidge, Npoco and MailKit (#13310)
* Updated Smidge, Npoco and MailKit

* Added missing command (after breaking interface in npoco)
2022-10-31 08:25:06 +01:00
Jason ElkinandMichael Latouche 6cb53fd703 Swap HSTS healthcheck status on localhost 2022-10-30 00:51:36 +02:00
TiffanyandMichael Latouche 96da638236 Added h2 for the package details heading 2022-10-29 01:13:39 +02:00
SimonJansson2andMichael Latouche 2071224d1f Adding swedish backoffice translations 2022-10-27 09:32:53 +02:00
6ff4d27d47 New backoffice: Cleanup management API routes (#13296)
* Rename ModelsBuilderDashboard folder to ModelsBuilder

* Fix modelsbuilder paths and related naming

* Rename analytics route to telemetry

* Fix controller bases - routes and tags

* Fix items route

* Fix more controllerbase routes

* Fix route

* Fix OpenApi file

* Merging DictionaryItem and Dictionary

* Fix TrackedReferences naming

* Update OpenApi file

* Rename Analytics* related types to Telemetry*

* New Backoffice: Return AnalyticsLevelViewModel from Telemetry/ (#13298)

* Return TelemetryLevelViewModel instead of TelemetryLevel

* Fix schema

* Change telemetry/current to telemetry/level

(cherry picked from commit f2b8494c669cbbf04b623753abbf1be211973aa9)

* Add contants for tree and recycle-bin subpaths

(cherry picked from commit 4449f56bc00832ea6d357a3854b454791c80e0e2)

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
2022-10-27 08:46:21 +02:00
Justin NevilleandNikolaj 86d9e51039 Fix for UseExceptionHandler no longer working since v10.3 RC (#13218)
* Fix for UseExceptionHandler no longer working since v10.3 RC

* Update the management api path to match the new one

Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
2022-10-26 13:57:37 +02:00
f5aba340e4 Fix for UseExceptionHandler no longer working since v10.3 RC (#13218)
* Fix for UseExceptionHandler no longer working since v10.3 RC

* Update the management api path to match the new one

Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
2022-10-26 13:56:09 +02:00
Nikolaj 054f5db6bb Bump version to next minor 2022-10-26 10:17:40 +02:00
Nikolaj 276be1ac8e Merge branch 'release/11.0' into v11/dev 2022-10-26 10:16:02 +02:00
bacc81d01a Fix Sqlite database locking issue (#13246)
* Add locking for creating scope

* Lock the repository instead

* Add scope in action instead of locking in service

* Fix up post-merge

Co-authored-by: Zeegaan <nge@umbraco.dk>
2022-10-26 08:47:04 +02:00
2cb926cada Parse lockId as invariant (#13284)
Co-authored-by: Zeegaan <nge@umbraco.dk>
2022-10-26 08:45:51 +02:00
10d03f0b58 Add IContextCache to deploy connectors (#13287)
* Add IContextCache and implementations

* Update connector interfaces to use IContextCache

* Minor cleanup

* Move DeployContextCache prefix to constant

* Move default implementations to obsolete methods

* Remove DeployContextCache and DictionaryCache

Co-authored-by: Andy Butland <abutland73@gmail.com>
2022-10-26 08:42:55 +02:00
1560e84f14 Add IContextCache to deploy connectors (#13287)
* Add IContextCache and implementations

* Update connector interfaces to use IContextCache

* Minor cleanup

* Move DeployContextCache prefix to constant

* Move default implementations to obsolete methods

* Remove DeployContextCache and DictionaryCache

Co-authored-by: Andy Butland <abutland73@gmail.com>
2022-10-25 18:40:11 +02:00
Sebastiaan Janssen 2f57e84aba Merge branch 'v11/dev' into v11/contrib 2022-10-25 16:42:18 +02:00
MoleandGitHub fc187596e3 V11: Use SqLiteException instead of SqlException in SqliteDistributedLockingMechanism & fix E2E tests (#13293) 2022-10-25 16:40:36 +02:00
BatJanandSebastiaan Janssen 8fe699f26b Change prevalue order 2022-10-25 15:47:45 +02:00
Matthew WiseandSebastiaan Janssen 5040bbc1b2 Added asserts to TagsCanBecomeInvariantByPropertyTypeAndBackToVariant 2022-10-25 15:44:50 +02:00
Matthew WiseandSebastiaan Janssen 036580248b Remove xml docs warnings using .editorconfig 2022-10-25 15:41:48 +02:00
Rachel BreezeandSebastiaan Janssen d32b93349d A11Y added missing iframe title to installer and preview controller. 2022-10-25 15:40:14 +02:00
CyberReiterandSebastiaan Janssen ce60e72452 adding some german translations 2022-10-25 15:38:30 +02:00
MoleandGitHub dc9085bd1d Remove references to build.ps1 in build docs (#13252) 2022-10-25 14:52:10 +02:00
Sebastiaan Janssen 46414f2c64 Merge branch 'v11/dev' into v11/contrib 2022-10-25 14:27:14 +02:00
Sebastiaan Janssen 9e3178034e Merge branch 'v10/dev' into v11/dev 2022-10-25 14:26:01 +02:00
CarlandGitHub 2ab0fa514d Added constants for getTreeItem in 2 stes of tests (#13276) 2022-10-24 07:49:36 +02:00
4367e45b73 Const adding for content tests (#13271)
* Constant replacing string

SaveNode const created to replace string for saveNew action

* Hardcoded string for content replaced for const

* Const created for default alias

* Refactoring dupe constants

* Using constanthelper to refactor further

* Dupe consts for strings amalgamated

Cleaning up the few strings I have missed and duplicate constants with different name

Co-authored-by: emma burstow <emaburst@gmail.com>
2022-10-24 07:45:06 +02:00
CarlandGitHub 220600319c Feature/git ignore to exclude test results from git (#13275)
* Additional info for running individual tests

* Ignore playwright test results from git

* Update README.md

These changes belong in a different PR #13274
2022-10-24 07:41:37 +02:00
CarlandGitHub aada595d60 Additional info for running individual tests (#13274) 2022-10-24 07:40:14 +02:00
Carole Rennie LoganandSebastiaan Janssen cdb42799dd updating to reference v11/contrib, not 10 2022-10-22 13:07:59 +02:00
Carole Rennie LoganandGitHub e780beadd7 update to link to youtube tutorials (#13266) 2022-10-22 13:06:17 +02:00
TiffanyandSebastiaan Janssen 5209840597 Fixed user invited badge color 2022-10-22 12:37:07 +02:00
emma-hqandGitHub 5fe165421c Adding discord server info (#13264)
* Adding discord server info

Discord server added to the Join our community section

* Update .github/README.md
2022-10-21 22:13:59 +01:00
Michael LatoucheandJoe Glombek 92ac072559 Update datepicker.controller.js
Don't set dirty if date actually not changed
2022-10-21 21:14:29 +01:00
6cad4013e4 Renames Installer form from "myForm" to "installerForm" (#12806)
Co-authored-by: Joe Glombek <joe@glombek.com>
2022-10-21 20:21:21 +01:00
Sebastiaan JanssenandMichael Latouche 7d9ee69fbc Changed Logo button behavior to be more consistent with the rest of the header 2022-10-21 18:16:58 +02:00
Anders BjernerandMichael Latouche 4922144528 Added shortcut="esc" to RTE HTML editor close button 2022-10-21 16:58:26 +02:00
Nikolaj 96ea387a6c Bump version 2022-10-21 10:31:39 +02:00
Mole 38712dce16 Add PrivateAssets="all" to mangement api project reference (#13249) 2022-10-21 09:17:38 +02:00
MoleandGitHub e57e910ca6 Merge pull request #13244 from umbraco/v11/merge_dev_into_release
Merge v11/dev into release/11.0.0
2022-10-20 11:43:12 +02:00
nikolajlauridsen 40200d077e Merge branch 'v11/dev' into v11/merge_dev_into_release 2022-10-20 10:18:09 +02:00
MoleandGitHub 7ddea288f9 Merge pull request #13243 from umbraco/v11/merge_v10
V11/merge v10
2022-10-20 10:16:47 +02:00
b3f11b9c16 New backoffice: Change management API base path (#13232)
* Change management api base path to  /umbraco/management/api/

* Update OpenApi schema

* Fixing some more paths

Co-authored-by: Elitsa Marinovska <elm@umbraco.dk>
2022-10-20 09:50:54 +02:00
nikolajlauridsen 8bdfcad469 Fix comment in Umbracoplan 2022-10-20 09:44:23 +02:00
nikolajlauridsen fec7b680ce Merge remote-tracking branch 'origin/v10/dev' into v11/merge_v10
# Conflicts:
#	src/Umbraco.Core/Services/LocalizedTextServiceSupplementaryFileSource.cs
#	tests/Umbraco.Tests.AcceptanceTest/package-lock.json
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Settings/macro.spec.ts
2022-10-20 09:37:14 +02:00
Nikolaj d9286fd4f8 Re-add push to nuget step 2022-10-19 14:32:05 +02:00
Nikolaj 5315f4df1b Remove broken duplicate nuget push command 2022-10-19 14:09:01 +02:00
Nikolaj 1c5e7956f9 Fix publish to MyGet 2022-10-19 12:51:26 +02:00
Nikolaj a73eced29c Add UseDotNet to Integration Tests SQL Server 2022-10-19 10:46:32 +02:00
df19d4fc6d Fixes: Consistency for Nullable reference types in LINQ extensions methods #12692 (#12703)
* Ensure Name and Children can never return null.

* Name should be empty not null

* Ensure Name and Children type queries never return null

Co-authored-by: Sebastiaan Janssen <sebastiaan@umbraco.com>
2022-10-19 10:32:09 +02:00
+1 27e129a6b4 V11: Merge v10 (#13235)
* Fix broken selectable state for list view items (#13148)

* Add sync rendering extensions for block grid and async ones for block list (#13168)

* Re-add IsPackable to Umbraco.Tests.Integration

* Fix for potential race condition in packages search (#13153)

* search on input allowing to wait for copy/paste etc

* invoke resourcePromise() with correct parameters

* return the xhrStatus allowing the caller to check if the request was aborted

* fix: send in canceler.promise to allow the timeout to work

* catch any errors and ignore aborts if they happen

* move the logic to handle cancellations outside Angulars $scope.$apply

* remove file accidentally committed

* Fix for potential race condition in packages search (#13153)

* search on input allowing to wait for copy/paste etc

* invoke resourcePromise() with correct parameters

* return the xhrStatus allowing the caller to check if the request was aborted

* fix: send in canceler.promise to allow the timeout to work

* catch any errors and ignore aborts if they happen

* move the logic to handle cancellations outside Angulars $scope.$apply

* remove file accidentally committed

(cherry picked from commit 4a412bb432)

* V10: Fix request accessor memory leak (#13152)

* Dispose OnChange event registration when disposing the notification handler

* Ensure that the ApplicationUrl is only initialized once

Since notifications handlers are transient,_hasAppUrl and _isInit defaults to false on every request causing it to always be called.

* Make notification handler and EnsureApplicationUrl internal

* Add missing ForceLeft and ForceRight (#13190)

* V10: Fix request accessor memory leak (#13152)

* Dispose OnChange event registration when disposing the notification handler

* Ensure that the ApplicationUrl is only initialized once

Since notifications handlers are transient,_hasAppUrl and _isInit defaults to false on every request causing it to always be called.

* Make notification handler and EnsureApplicationUrl internal

* Add missing ForceLeft and ForceRight (#13190)

* Pass the node property to umb-property & umb-property-editor (#13151)

Co-authored-by: Zeegaan <nge@umbraco.dk>

* V10: 13099 fix validation error (#13170)

* Add validation error message to Viewpicker

* Add help-inline class to make validation-text red

Co-authored-by: Zeegaan <nge@umbraco.dk>

* move clear:both; to the flexbox example (#13194)

* remove pointer-events from Image, to make drag n' drop work on firefox. (#13193)

* area permission min-max inputs width increase (#13195)

* Fix tags with CSV storage type (#13188)

* Fixing null check as default(NRT) is null => default(configuration?.Delimiter) is also null and we were counting on it being the same as default(char)

* Adding tests to check cases with multiple tags (or tag made of comma separated values)

* Fix tags with CSV storage type (#13188)

* Fixing null check as default(NRT) is null => default(configuration?.Delimiter) is also null and we were counting on it being the same as default(char)

* Adding tests to check cases with multiple tags (or tag made of comma separated values)

* Add documentation for default block grid partial views in the rendering extension methods (#13184)

* Add data-element to umb property so we can find it (#13199)

Co-authored-by: Zeegaan <nge@umbraco.dk>

* Add data-element to umb property so we can find it (#13199)

Co-authored-by: Zeegaan <nge@umbraco.dk>

* V10/bugfix/create simple package test (#13162)

* Fixed assert to hopefully find the package each time so it isnt flaky anymore

* Updated so it retries 5 times instead of 2

* Dont submit html-report

* Dont have output defined in npm run

* Copy over playwright trace.zip files before publishing

* Updated assert so it looks after the package in the table

* updated so we get the first fail as the trace file

* Bumped version for testhelpers

* Updated so the test checks if the package actually exists. Added a wait that checks if the created packages button is visible

* Updated package lock

* Fixed so it now calls the correct testhelper

Co-authored-by: Zeegaan <nge@umbraco.dk>

* Merge BjarneF fix into 10.3 (#13220)

Co-authored-by: Bjarne Fyrstenborg <bjarne_fyrstenborg@hotmail.com>

* make Area fit within block row (#13221)

* 10.3.0-RC: Change grid area input to number + change generic label (#13203)

Co-authored-by: Bjarne Fyrstenborg <bjarne_fyrstenborg@hotmail.com>

* move below center, to make room (#13222)

* highlight areas in dragging-mode for modern browsers (#13224)

* Collect new .xml language files from different sources (#13212)

* Collecting new language files from different sources

* Apply suggestions from review

* Adding TODO for merging the language files locations to one when packages are not concerned

* Collect new .xml language files from different sources (#13212)

* Collecting new language files from different sources

* Apply suggestions from review

* Adding TODO for merging the language files locations to one when packages are not concerned

* Resync editors if content model changed (#13230)

* Disable BlockGridEditor (#13229)

* Disable BlockGridEditor

* Fix typeloader test

* Update src/Umbraco.Core/Models/Blocks/BlockGridItem.cs

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

* Apply suggestions from code review

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

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

* V10.4: Re-enable block grid editor (#13231)

* Revert "Disable BlockGridEditor (#13229)"

This reverts commit 4e9aa8dac2.

* Re-do xml comments fix

* Fix nullable reference error

* Fix acceptance test package.json and package-lock.json

* Re-add wait-on

Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
Co-authored-by: Niels Lyngsø <niels.lyngso@gmail.com>
Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
Co-authored-by: Andreas Zerbst <73799582+andr317c@users.noreply.github.com>
Co-authored-by: Bjarne Fyrstenborg <bjarne_fyrstenborg@hotmail.com>
Co-authored-by: Matt Darby <matt@darby.digital>
2022-10-19 10:24:43 +02:00
Andreas ZerbstandGitHub b69afe81f3 Merge pull request #13228 from umbraco/v11/bugfix/Add-proper-assert-for-relationtype-test
Added proper save assert instead of checking on the route
2022-10-18 12:38:16 +02:00
Zeegaan 21e6cf36e7 Added proper save assert instead of checking on the route 2022-10-18 11:18:05 +02:00
2903d58ab3 V10: 13125 don't return "null" (#13163)
* Add null check

* Fix for potential race condition in packages search (#13153)

* search on input allowing to wait for copy/paste etc

* invoke resourcePromise() with correct parameters

* return the xhrStatus allowing the caller to check if the request was aborted

* fix: send in canceler.promise to allow the timeout to work

* catch any errors and ignore aborts if they happen

* move the logic to handle cancellations outside Angulars $scope.$apply

* remove file accidentally committed

* V10: Fix request accessor memory leak (#13152)

* Dispose OnChange event registration when disposing the notification handler

* Ensure that the ApplicationUrl is only initialized once

Since notifications handlers are transient,_hasAppUrl and _isInit defaults to false on every request causing it to always be called.

* Make notification handler and EnsureApplicationUrl internal

* Add missing ForceLeft and ForceRight (#13190)

* Fix tags with CSV storage type (#13188)

* Fixing null check as default(NRT) is null => default(configuration?.Delimiter) is also null and we were counting on it being the same as default(char)

* Adding tests to check cases with multiple tags (or tag made of comma separated values)

* Add data-element to umb property so we can find it (#13199)

Co-authored-by: Zeegaan <nge@umbraco.dk>

* V10/bugfix/create simple package test (#13162)

* Fixed assert to hopefully find the package each time so it isnt flaky anymore

* Updated so it retries 5 times instead of 2

* Dont submit html-report

* Dont have output defined in npm run

* Copy over playwright trace.zip files before publishing

* Updated assert so it looks after the package in the table

* updated so we get the first fail as the trace file

* Bumped version for testhelpers

* Updated so the test checks if the package actually exists. Added a wait that checks if the created packages button is visible

* Updated package lock

* Fixed so it now calls the correct testhelper

Co-authored-by: Zeegaan <nge@umbraco.dk>

* Update src/Umbraco.Core/PropertyEditors/DataValueEditor.cs

Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>

Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
Co-authored-by: Andreas Zerbst <73799582+andr317c@users.noreply.github.com>
Co-authored-by: Elitsa Marinovska <elm@umbraco.dk>
2022-10-18 10:56:09 +02:00
Andreas ZerbstandGitHub b1cbc92e8c Merge pull request #13209 from umbraco/v11/bugfix/fix-more-unstable-acceptance-tests
V11: fix more unstable acceptance tests
2022-10-18 09:00:52 +02:00
Nikolaj GeisleandGitHub b84dcf87dd Update tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/ModelsBuilder/modelsbuilder.spec.ts 2022-10-18 08:19:23 +02:00
Kenn JacobsenandGitHub 000324aaba Make Examine API more REST-ish (#13198)
* Make Examine API more REST-ish

* Undo bad renaming

* Move search endpoint under "searchers" route

* Update schema to match new API definition

* Update OpenAPI schema after merge

* Remove "examine" prefixes and change API route from "examine" to "search"

* Update OpenAPI json schema
2022-10-17 17:15:06 +02:00
Nikolaj Geisle d090b89848 Merge remote-tracking branch 'origin/v11/dev' into v11/bugfix/fix-more-unstable-acceptance-tests 2022-10-17 15:52:49 +02:00
Bjarke Berg e006f7cd7d Fixed issue when no models mode was specified in app settings 2022-10-17 15:43:17 +02:00
Nikolaj Geisle 9b6902d9ba Bumb playwright-testhelper version 2022-10-17 15:42:00 +02:00
Nikolaj Geisle c42e6d616c Reset maximum timeout to 30s 2022-10-17 15:27:26 +02:00
Nikolaj Geisle 3a196382f9 Update maximum test time-out 2022-10-17 14:53:41 +02:00
Nikolaj Geisle 8440f57de8 Bumb testhelpers package 2022-10-17 14:29:03 +02:00
Nikolaj Geisle 166791f3da Merge remote-tracking branch 'origin/v11/dev' into v11/bugfix/fix-more-unstable-acceptance-tests 2022-10-17 14:03:09 +02:00
Nikolaj Geisle 2ff3f270ab Remove whitespace from response 2022-10-17 13:01:54 +02:00
Nikolaj Geisle d8b7733ee7 Bumb testhelpers version 2022-10-17 12:17:31 +02:00
Nikolaj Geisle 4a28001740 Update test-helpers version 2022-10-17 12:13:55 +02:00
Nikolaj Geisle a28c2f2f9a Dont remove whitespace 2022-10-17 11:10:05 +02:00
Nikolaj Geisle a50b0de0bb Update playwright-testhelpers version 2022-10-17 10:37:40 +02:00
Bjarke Berg f0866d3ea0 Merge remote-tracking branch 'origin/v11/dev' into v11/dev 2022-10-17 08:21:26 +02:00
Bjarke Berg 773262c8ce Updated templates to say .net 7 2022-10-17 08:21:16 +02:00
Nikolaj Geisle 13b6eb3a48 Assert that the item is loaded before trying to click rollback 2022-10-14 23:58:47 +02:00
MoleandGitHub f7a26f5b58 Only replace the MS services when the site is actually set to InMemoryAuto (#13201) 2022-10-14 20:04:19 +02:00
Nikolaj Geisle fbfeef1b9a Merge branch 'v11/dev' into v11/bugfix/fix-more-unstable-acceptance-tests 2022-10-14 19:21:51 +02:00
Bjarke Berg b4166028bf Merge remote-tracking branch 'origin/v11/dev' into v11/dev 2022-10-14 15:09:04 +02:00
Bjarke Berg 1ea9009feb Added code to avoid unneccessary breaking changes 2022-10-14 15:08:56 +02:00
Ronald Barendse 3dc103e8a6 Add wait-on dev dependency 2022-10-14 11:10:29 +02:00
Nikolaj Geisle 31b76c3705 Close success notification 2022-10-14 10:28:21 +02:00
Nikolaj Geisle 4d4999b078 Add proper expect to download button 2022-10-14 09:51:45 +02:00
Nikolaj Geisle a20a44c0c2 Update testhelpers version 2022-10-14 09:51:33 +02:00
Nikolaj Geisle 6f12eb158a Dont commit playwright.config.ts 2022-10-14 09:09:49 +02:00
Nikolaj Geisle d7ca610f6d Update tests to close success notifications 2022-10-14 09:06:12 +02:00
Nikolaj Geisle e6b0b65ddd Close success notifications after they pop up 2022-10-14 08:48:20 +02:00
Kenn JacobsenandGitHub 9ce83e8f55 Fix pipeline errors for V11 (#13208)
* Correct exec parameter list for json schema generation during build

* Update OpenAPI schema
2022-10-14 08:37:14 +02:00
8e3e4d7ba6 V11: fix failing acceptance tests (#13204)
* Fix macro in RTE test

* Update test-helper version

Co-authored-by: Zeegaan <nge@umbraco.dk>
2022-10-13 19:29:00 +02:00
ea84b863af V11: v10 to v11 (#13205)
* Fix for potential race condition in packages search (#13153)

* search on input allowing to wait for copy/paste etc

* invoke resourcePromise() with correct parameters

* return the xhrStatus allowing the caller to check if the request was aborted

* fix: send in canceler.promise to allow the timeout to work

* catch any errors and ignore aborts if they happen

* move the logic to handle cancellations outside Angulars $scope.$apply

* remove file accidentally committed

* V10: Fix request accessor memory leak (#13152)

* Dispose OnChange event registration when disposing the notification handler

* Ensure that the ApplicationUrl is only initialized once

Since notifications handlers are transient,_hasAppUrl and _isInit defaults to false on every request causing it to always be called.

* Make notification handler and EnsureApplicationUrl internal

* Add missing ForceLeft and ForceRight (#13190)

* Fix tags with CSV storage type (#13188)

* Fixing null check as default(NRT) is null => default(configuration?.Delimiter) is also null and we were counting on it being the same as default(char)

* Adding tests to check cases with multiple tags (or tag made of comma separated values)

* Add data-element to umb property so we can find it (#13199)

Co-authored-by: Zeegaan <nge@umbraco.dk>

* V10/bugfix/create simple package test (#13162)

* Fixed assert to hopefully find the package each time so it isnt flaky anymore

* Updated so it retries 5 times instead of 2

* Dont submit html-report

* Dont have output defined in npm run

* Copy over playwright trace.zip files before publishing

* Updated assert so it looks after the package in the table

* updated so we get the first fail as the trace file

* Bumped version for testhelpers

* Updated so the test checks if the package actually exists. Added a wait that checks if the created packages button is visible

* Updated package lock

* Fixed so it now calls the correct testhelper

Co-authored-by: Zeegaan <nge@umbraco.dk>

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Andreas Zerbst <73799582+andr317c@users.noreply.github.com>
2022-10-13 15:29:38 +02:00
f4280fff0e V11: merge v10 to v11 (#13200)
* Fix for potential race condition in packages search (#13153)

* search on input allowing to wait for copy/paste etc

* invoke resourcePromise() with correct parameters

* return the xhrStatus allowing the caller to check if the request was aborted

* fix: send in canceler.promise to allow the timeout to work

* catch any errors and ignore aborts if they happen

* move the logic to handle cancellations outside Angulars $scope.$apply

* remove file accidentally committed

* V10: Fix request accessor memory leak (#13152)

* Dispose OnChange event registration when disposing the notification handler

* Ensure that the ApplicationUrl is only initialized once

Since notifications handlers are transient,_hasAppUrl and _isInit defaults to false on every request causing it to always be called.

* Make notification handler and EnsureApplicationUrl internal

* Add missing ForceLeft and ForceRight (#13190)

* Fix tags with CSV storage type (#13188)

* Fixing null check as default(NRT) is null => default(configuration?.Delimiter) is also null and we were counting on it being the same as default(char)

* Adding tests to check cases with multiple tags (or tag made of comma separated values)

* Add data-element to umb property so we can find it (#13199)

Co-authored-by: Zeegaan <nge@umbraco.dk>

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
Co-authored-by: Zeegaan <nge@umbraco.dk>
2022-10-13 11:08:32 +02:00
Nikolaj GeisleandGitHub 442342e388 Make parameters nullable (#13185) 2022-10-13 09:21:27 +02:00
Bjarke Berg ed9a26be3a Post merge fix 2022-10-12 11:20:46 +02:00
Ronald Barendse 3599dd4178 Remove duplicate package references 2022-10-12 11:14:35 +02:00
Bjarke Berg 4712e9e08e Added CompatibilitySuppressions.xml 2022-10-12 11:06:26 +02:00
Bjarke Berg 8ebeb32469 Merge remote-tracking branch 'origin/v11/dev' into v11/dev
# Conflicts:
#	.gitignore
2022-10-12 10:48:40 +02:00
Bjarke Berg 5bd796d73f Merge remote-tracking branch 'origin/v10/dev' into v11/dev
# Conflicts:
#	build/azure-pipelines.yml
#	tests/Umbraco.Tests.AcceptanceTest/misc/umbraco-linux.docker
2022-10-12 10:47:49 +02:00
Ronald Barendse 30e016afb3 Fix ManagementApi dependency and update JSON schema file names 2022-10-12 10:47:10 +02:00
Bjarke Berg 909a14b53a Merge remote-tracking branch 'origin/v11/dev' into v11/dev 2022-10-12 10:45:49 +02:00
Bjarke Berg 5bbd669776 Updated nuget packages to latest version. Incl asp.net core to 7rc2 2022-10-12 10:45:42 +02:00
Ronald Barendse d73ab7c9ca Add compatibility suppressions 2022-10-11 23:54:20 +02:00
Ronald BarendseandGitHub 535d07486f Re-add --no-build to dotnet pack
Should be fixed in .NET SDK 7: https://github.com/dotnet/aspnetcore/issues/43062
2022-10-11 23:42:32 +02:00
94774113f6 V11: Fix InMemoryAuto modelsbuilder mode (#13107)
* POC of a solution that works

* Add razor reference manager

* Ensure the compilation options are correct

* Move InMemory classes to its own namespace

These are all internal, so it should be fine.

* Throw proper exceptions when compilation fails

* Add CheckSumValidator

* Clear the ViewCompiler cache when models changed

This means we no longer need the RefreshingRazorViewEngine \o/

* Remove unused constructor injection

* Make UmbracoAssemblyLoadContext non internal

* Add WIP

* Clear the RazorViewEngine cache when generating new models

This uses reflection, which isn't super nice, however, the alternative is to clone'n'own the entire RazorViewEngine, which is arguably worse

* Fix circular dependency

* Remove ModelsChanged event

This is no longer necessary

* Fix precompiled views path

We need to normalize these paths to ensure they matches with the keys in _precompiledViews

* Clean

* Fix content tests

* Add logging

* Update the comment in UmbracoBuilderDependencyInjectionExtensions to reflect changes

* Remove RefreshingRazorViewEngine as its no longer needed

* Remove unused ViewEngine hack from DI

* Fix langversion

This is required since dotnet 7 is still in preview

* Add modelsbuilder tests

* Add more tests

* fixed comment

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2022-10-07 10:42:32 +02:00
Bjarke Berg b2ed235870 Merge remote-tracking branch 'origin/v10/dev' into v11/dev 2022-10-07 10:04:11 +02:00
Bjarke Berg e6074968fe Updated dependencies 2022-10-05 21:26:05 +02:00
Bjarke Berg 9df07de52e Merge remote-tracking branch 'origin/v10/dev' into v11/dev
# Conflicts:
#	version.json
2022-10-05 21:18:36 +02:00
Bjarke BergandGitHub 018e1e9265 Merge pull request #13129 from umbraco/v11/merge/merge-v10-to-v11
merge v10 into v11
2022-10-05 21:17:55 +02:00
Bjarke Berg 4e48c975b7 Fix contract 2022-10-05 20:55:20 +02:00
Bjarke Berg 90e5f8538d Merge remote-tracking branch 'origin/v11/merge/merge-v10-to-v11' into v11/merge/merge-v10-to-v11 2022-10-05 16:05:06 +02:00
Bjarke Berg 44e768de4d fix pack issue 2022-10-05 16:04:26 +02:00
Nikolaj Geisle 23f2e73d72 Remove unused dependencies 2022-10-05 15:51:38 +02:00
Nikolaj Geisle 0e7baa1626 Update langversion 2022-10-05 15:51:28 +02:00
Zeegaan b797350d00 Post-merge 2022-10-05 15:16:43 +02:00
Zeegaan 9243c59ce9 Merge branch 'v10/dev' into v11/merge/merge-v10-to-v11
# Conflicts:
#	.github/workflows/codeql-analysis.yml
#	.gitignore
#	Directory.Build.props
#	build/azure-pipelines.yml
#	src/JsonSchema/Options.cs
#	src/JsonSchema/UmbracoJsonSchemaGenerator.cs
#	src/Umbraco.Cms.ManagementApi/DependencyInjection/FactoryBuilderExtensions.cs
#	src/Umbraco.Cms.ManagementApi/ManagementApiComposer.cs
#	src/Umbraco.Cms.ManagementApi/OpenApi.json
#	src/Umbraco.Core/Models/Mapping/DictionaryMapDefinition.cs
#	src/Umbraco.Infrastructure/Security/UmbracoUserManager.cs
#	tests/Directory.Build.props
#	tests/Umbraco.Tests.AcceptanceTest/package-lock.json
#	tests/Umbraco.Tests.AcceptanceTest/package.json
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Packages/packages.spec.ts
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Tabs/tabs.spec.ts
#	tests/Umbraco.Tests.Integration/TestServerTest/UmbracoTestServerTestBase.cs
2022-10-05 14:29:41 +02:00
Bjarke BergandGitHub 46da0b07a8 Ship two json schema files.. One that reference others, and a CMS one (#13123)
* Ship two json schema files.. One that reference others, and a CMS one

* git ignore

* Build schema files sepearately
2022-10-05 12:42:21 +02:00
+12 6dc874147f v11: Merge v10/feature/project-cleanup into v11/dev (#13112)
* New backoffice/add system text json configuration attribute (#12998)

* Add SystemTextJsonConfigurationAttribute

* Fix up formatting

* Rename classes for clearer purpose

Co-authored-by: Zeegaan <nge@umbraco.dk>

* UmbracoPath should no longer be configurable (#13032)

* UmbracoPath should no longer be configurable

* Remove UmbracoPath configuration from all tests

* Only contain style instead of full layout (#13033)

* Only contain style instead of full layout (#13033)

* Fix CodeQL duplicate "permissions"  node and reformat

* add an extra check to ensure the pips exist before adding a class to them

* improve pip classList add/remove with no intermediary variable

* Only contain style instead of full layout (#13033)

* Ensure consistent margin on headings in tree root (#12992)

* Ensure consistent margin on headings in tree root (#12992)

(cherry picked from commit 88bfef9e0d)

* Bump version to 10.2.1

* Translate "User permissions for languages" feature to dutch (#12971)

* Translate 'sectionsHelp' to Dutch

* Translate 'selectLanguages' to Dutch

* Transkate 'allowAccessToAllLanguages' to Dutch

* Translate "User permissions for languages" feature to español (#12975)

* Translate 'selectLanguages' to Español

* Translate 'languagesHelp' to español

* Translate 'allowAccessToAllLanguages' to spanish

* Updated project references for Forms and Deploy in the JsonSchema project. (#13047)

* Updated project references for Forms and Deploy in the JsonSchema project. (#13047)

* UmbracoPath has been removed from the official schema store, remove temporary workaround from our schema generator as well (#13043)

* add an extra check to ensure the pips exist before adding a class to them

* improve pip classList add/remove with no intermediary variable

* pass in parameters needed to member service (#13020)

* Missing methods from IMemberService (#13022)

* Add back methods to interface

* Add default implementations to avoid breaking changes

Co-authored-by: Zeegaan <nge@umbraco.dk>

* New endpoint for web profiling dashboard (#13038)

* Endpoint for web profiling dashboard

* Add profiling API contract

* New Backoffice: Published cache controller (#13034)

* Add published cache controller (endpoints for the Published Status dashboard)

* Update OpenAPI contract for published cache endpoints

* Fix OpenApi spec

Co-authored-by: Zeegaan <nge@umbraco.dk>

* Bug fix for datepicker with offset time (#12847)

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

* remove "X" from ng-attr

Doing the test I killed the ng-if attr. But forgot it was there doing the commit

Co-authored-by: Lucas Bach Bisgaard <lom@novicell.dk>

* Make sure swagger tags and operations are sorted alphabetically (#13055)

* Add spellcheck false to password inputs (#13059)

* Add null check for variants in Grid Layout (#13060)

This fixes a regression from 10.2.0 where the `variants` property was removed.

* Add null check for variants in Grid Layout (#13060)

This fixes a regression from 10.2.0 where the `variants` property was removed.

* Fixes #12972 for validating legacy member passwords (#12973)

* Fixes #12972 for validating legacy member passwords

* Removed unused variable

* removed unused variable

* Fix issue toggling boolean between true/false after Save without refreshing

* New backoffice: examine management controller (#12981)

* Add ExamineManagementControllerBase

* Add ExamineIndexModelFactory

* Add IndexesExamineManagementController

* Add proper attributes

* Implement ExamineIndexViewModel.cs

* formatting

* Add comment about it working in .NET 7

* Add SearchersExamineManagementController.cs

* Update comments about why it might throw errors

* Add SearchResultViewModel

* Add SearchExamineManagementController

* Add ExamineSearcherValidationService

* Rename ExamineSearcherValidationService.cs to ExamineSearcherFinderService.cs

* Rename interface aswell

* Add SearchExamineManagementController

* Refactor ExamineSearcherFinderService

* Add HasIndexRebuiltExamineManagementController.cs

* Fix up formatting

* Async actions

* Add RebuildIndexExamineManagementController.cs

* Rename IExamineIndexModelFactory to IExamineIndexViewModelFactory

* Refactor HasIndexRebuilt endpoint to Index endpoint

* Remove unused usings

* Fix up DetailsExplanation

* Create dedicated SearchersViewModel

* Rename action

* Rename RebuildIndex to Rebuild

* Dont have changes in ExamineIndexModel

* Make values strongly typed instead of generic lists of strings

* Rename to non-plural

* Rename to non-plural

* Rename controller

* Introduce ITemporaryIndexingService

* Introduce ITemporaryIndexingService

* Add SearcherName to view model

* Move to new ExamineManagementControllerBase.cs

* Refactor ExamineManagerService

* Use init instead of setters

* Make properties explicitly on models

* Add DI

* Apply suggestions from code review

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

* Rename to IndexExamineManagementController

* Return ViewModel instead of exception

* Make view models non-nullable

* Add examine management extension point

* Rename to IndexingRebuilderService

* Move rebuild logic to service

* Fix up usages in IIndexingRebuilderService

* Fix up DI

* Fix OpenApi contract

* Implement CanRebuild on IIndexingRebuilderService.cs

Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>

* Update build script

* Add BuildProjectReferences=false to dotnet pack

* Internalize Umbraco.Cms.ManagementApi references

* Make Searchers endpoint return ActionResult (#13068)

* New backoffice - trees design (#12963)

* Refactor: Add default versioned back office route attribute

* Tree controller bases and first draft implementations for document, media and doctype

* Move tree item view models to appropriate location

* Fix missing parent

* Refactor user entity access for testability

* A bit of clean-up + handle user start nodes for items endpoint

* Implement foldersOnly for folder tree

* Items endpoint for document type tree

* Strongly typed action results

* Content + media recycle bin

* Correct return type for swagger

* Member type tree

* Rename user start node handling to make a little more sense

* Revert to faked admin start nodes in document tree

* Media type tree

* Data type tree

* Relation type tree

* Remove unused dependency from member type tree

* Correct documentation for member type tree endpoint response types

* Use icon constants

* Add templates tree

* Member group tree

* Document blueprint tree

* Partial views, scripts and stylesheets trees

* Static files tree

* Clarify "folders only" state

* Comments and improved readability

* Rename TreeControllerBase and TreeItemViewModel

* Move recycle bin controller base to its own namespace

* Moved tree base controllers to their own namespace

* Common base class for tree view models

* Remove ProblemDetails response type declaration from all actions

* Add OpenApiTag

* Various review comments

* Dictionary item tree

* Renamed all tree controllers to follow action/feature naming convention

* Handle client culture state for document tree

* Support "ignore user start nodes" for content and media + refactor how tree states work to make things more explicit

* Fix or postpone a few TODOs

* Make entity service able to paginate trashed children

* Handle sorting explicitly

* Re-apply VersionedApiBackOfficeRoute to install and upgrade controllers after merge

* Use PagedViewModel instead of PagedResult for all trees

* Explain the usage of UmbracoObjectTypes.Unknown

* Introduce and apply GetMany pattern for dictionary items

* Add a note about relation type caching

* Fix broken test build + add unit tests for new localization service methods

* Use new management API controller base

* Entity repository should build document entities for document blueprints when getting paged entities (same as it does when getting specific entities)

* Use Media type for Media recycle bin

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Move shared relation service to concrete implementations

* Use inclusive language

* Add 401 response type documentation to applicable trees

* Refactor entity load for folder tree controller base + ensure that folders are only included in the first result page

* Add (in-memory) pagination to dictionary tree

* Make file system controller honor paging parameters

* Support pagination in relation type tree

* Clarify method name a bit for detecting tree root path requests

* Update Open API schema to match new trees

* Move from page number and page size to skip/take (with temporary workaround for lack of property skip/take pagination in current DB implementation)

* Update OpenAPI schema to match skip/take

* Update OpenAPI schema

* Don't return paginated view models from "items" endpoints

* Update OpenApi schema

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Use pattern matching to check if items is not `JArray`

* Bump Smidge up to v4.1.1

* Removing X-XSS-Protection healthcheck

* Redirect to a return URL if one is present on the querystring when logging into the back office

* Fix issue 13023 - Cannot read properties of undefined (reading 'allowedActions')

* Implement playwright acceptance tests instead of cypress (#13069)

* fix up dependencies in package.json

* Change configs to playwright

* update types

* remove cypress

* add playwright

* Fix up imports

* Move up test files

* Fix up scripts

* Update user import

* Remove allowEditInvariantFromNonDefault=True.spec.ts

* Update docker container

* Run playwright on pipelines

* Install playwright

* change urls

* change to run playwright

* Update reporter

* create .env file when installing

* update pipelines

* Remove @in yml

* Update Yaml script to use New-Item

* Pipe object to Value

* Update yaml to use "" not {}

* Update localhost to proper port

* Push package-lock.json

* include dotenv in package.json

* Add back umbraco.config.ts

* Dont change launchSettings.json

* Fix up pipelines

* Change working directory

* Add logging

* Actually name the file

* Remove .env from path

* Add working directory

* Add working directory to script

* check env content

* Update more working dir

* Try making newline in YAML

* add quotes

* Try multiline infront of script

* Move top statement

* use https

* Update to localhost 44331

* ignore https in config

* Change linux to https

* add timeouts for tests

* Fix up url for linux

* Update docker to use port 44331 -> 5000

* increase timeout

* Update yaml

* Remove Cypress references and fix URL/port mapping

* Update umbraco-linux.docker

* Generate ASP.NET HTTPS development certificate

* Enable HTTPS development certificate in Docker

* Dont run failing tests

* Update HTTPS development certificate generation

* Copy nuget.config to correct location in Docker file

* do not run flaky test

* update outputdir

* Remove flaky tests

* Update to dot reporter

* Update to json-models-builders package

* Check if results folder exists

* Remove logging

* Use bash to find folder

* Dont use junit to report

* only publish if folder exists

* Add 5 retries for CI

* search correct folder

* Remove unused json file

* Use line reporter

* Remove umbraco.config.ts

* Remove more flaky test

* Add waits so we dont bombard SQLite

* Add page as parameter

* add page as parameter

* Remove flaky macro test

Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Ronald Barendse <ronald@barend.se>

* Fix comment of view property in `ConfigurationFieldAttribute` (#13077)

* Fix comment of view property in `ConfigurationFieldAttribute`

* Update description of key property as well

* Use char instead of string for DetectJson (#13019)

* Use char instead of string for DetectJson

* Use faster method

* Change DetectIsJon method

* Update acceptance test readme & scripts (#13078)

* Update readme to reflect the change to playwright

* Update test scripts

* update README

* update pipelines to run new script

* update package.json scripts

* dont include demo test in package.json

* Add creation of blueprint test

* Implement create test script

Co-authored-by: Zeegaan <nge@umbraco.dk>

* Refactor event handler away from keyup to ng-change

* Don't use legacy icon for action delete

* Added nullability attribute to IsNullOrWhitespace

* Fixes umbraco/Umbraco-CMS.Accessibility.Issues #63 and #61

* Revert "Removing X-XSS-Protection healthcheck" (#13096)

This reverts commit 696475ebf2.

Co-authored-by: Zeegaan <nge@umbraco.dk>

* New backoffice: New Api controllers (#12983)

* Create migrate Language controller to Umbraco.Cms:ManagementApi

* Add proper language mapping

* Update mapping to handle if language name is null

* Uncomment code

* Add new language view model

* Add LanguageViewModelMapping

* Add mapper registration

* Fix up AddMappers extension method

* Implement mapping IEnumerable of languages

* Change action signatures to ViewModel instead of model

* Seperate logic from controller into service

* Move LanguageService.cs

* Register service

* Fix up mapping

* Add null check to mapping instead of controller

* Map to ILanguage instead of implementation

* Fix up null check

* Implement ProblemDetailsBuilder.cs

* Rename duplicate method

* Use builder in actions

* Implement new Paged models

* Create language controller base

* Use pagedModel for GetAllLanguages

* Create GetAllLanguagesPaged method

* Split language controller into single APIs

* Fix up controllers with API versions

* Map Total property

* Fix up route and naming for GetLanguageController.cs

* Fix up naming for language controllers

* New folder structure

* Add culture controllers

* Map CultureInfos to paged CultureViewModel

* Remove wierd include in csproj

* Refactor controller to return pagedViewModel instead of dictionary

* Fix up mapping to map single and enumerable

* Register mapping

* Add apiversion to controller

* Add inheritdoc

* Create DictionaryControllerBase.cs

* Add delete controller

* Only use HttpDelete for deletes

* Check also if language exists in service

* Split Save action into Create & Update actions

* Update Http attributes on Create and update controllers

* Proper routing for delete controller

* Add api version

* Make action async

* Implement CreateDictionaryController

* Create DictionaryViewModel.cs

* Use viewmodel instead of values

* Create get by int DictionaryController

* Add view models

* Rename controller

* Rename DictionaryViewModel to DictionaryItemViewModel

* use created instead of ID

* Apply DataContract/Datamember to view model

* change to guid instead of Guid

* Use proper responses instead of return models when creating/updating

* Implement new IDictionaryService

* Implement new MoveController

* Use new service in mapper

* Remove unused method

* Add DictionaryViewModelMapDefinition

* Create MoveOrCopyViewModel

* Proper Http action

* Create UpdateDictionary controller

* Map IDictionaryItem to DictionaryViewModel

* Add JsonPatching

* Add UpdateDictionaryController.cs

* Map DictionaryTranslationsDisplays properly

* ParentId should be nullable

* Add new DictionaryTranslationViewModel.cs

* Remove translationViewModel

* Add Id and Key to DictionaryTranslationDisplay.cs

* Implement IDictionaryFactory.cs

* Create DictionaryViewModels and do not use IEntity

* Map to new view models instead of displays

* Register the factiories in the service container

* Remove newtonsoft

* Add serializing to and from PatchDocs

* Use JsonPatchViewModel instead of object type

* Add JsonPatch.Net to csproj

* Implement JsonPatchService.cs

* Register JsonPatchService

* Make model non-nullable

* Update controllers to use new attributes

* Rename MoveViewModel.cs

* Remove NameIsDirty as that is legacy from how we used to handle updating

* Add GetAllDictionaryController

* Add todo to DictionaryControllerBase

* Add ExportDictionaryController

* Add ImportDictionaryController

* Remove unused umbraco mapper

* Add upload dictionary controller

* Create Dictionary import view models

* Update UploadDictionaryController with view models

* Remove unused using

* Implement pagedviewmodel for GetAllDictionaryController.cs

* Add dictionary overview viewmodels

* Add mapping for DictionaryOverViewModel

* Update Dictionary controller to use new viewmodel

* Fix up attributes for UploadDictionaryController

* Make actions async

* Make controller bases abstract

* Fix after merge

* New backoffice: Analytics controller (#12957)

* Add AnalyticsControllerBase

* Add AnalyticsViewModel

* Add GetAnalyticsController

* Update ViewModel to use System.Text.Json

* Add SetAnalyticsController

* Add AnalyticsLevelViewModel

* Add GetAllAnalyticsController

* Add viewmodel factory

* Register factory for DI

* Use factory for creation of ViewModel

* Fix up AnalyticsLevelViewModel.cs

* Use analyticsLevelViewModel

* Add Enum validation to controller

* Add OpenApi attributes

* Add routing to GetAllAnalyticsController

* Rename IPagedViewModelFactory

* use new renamed PagedViewModelFactory

* Make actions async

* Make controller base abstract

* Fix up after merge

Co-authored-by: Zeegaan <nge@umbraco.dk>

* New backoffice: Help controller (#12958)

* Add HelpControllerBase

* Add HelpPageViewModel

* Add GetHelpController

* Add viewmodel factory

* Register factory for DI

* Use PagedViewModelFactory for controller

* Update baseurl to be nullable

* Rename IPagedViewModelFactory

* Use new renamed IPagedViewModelFactory

* Dont use httpclient as field

Co-authored-by: Zeegaan <nge@umbraco.dk>

* New backoffice: Relation controller (#12961)

* Add relation controller base

* Add commen about auth

* Add GetRelationController

* Use mapping to viewmodel

* Add RelationViewModel

* Add RelationViewModelsMapDefinition.cs

* Add viewmodel factory

* Register factory for DI

* Rename IPagedViewModelFactory

* Add RelationViewModelFactory

* Remove unused service

* Add GetByChildRelationController

* Add relationViewModelFactory to DI

* Add MappingBuilderExtensions

* Add relationViewModelsMapDefinition to DI

* Use PagedViewModel for child relations

* Add CreateMultiple

* Update GetRelationController to use factory instead of direct mapping

* Update GetByChildRelationController to use relationViewModelFactory

* Fix up after merge

Co-authored-by: Zeegaan <nge@umbraco.dk>

* New backoffice: Tracked references controller (#12966)

* Add TrackedReferencesControllerBase.cs

* Add GetTrackedReferencesController

* Add relation model

* Add ITrackedReferencesRepository.cs

* Rename relation to RelationModel

* Add RelationMapDefinition.cs

* Add TrackedReferencesSkipTakeRepository

* Rename RelationModelMapDefinition

* Add new services to DI

* Rename RelationModel to RelationItemModel

* Implement TrackedReferencesSkipTakeService

* Formatting

* Add RelationItemViewModel.cs

* Add mapdefition

* Update TrackedReferencesController to use new PagedViewModel

* Add service to DI

* imlement proper routing

* Add async to GetTrackedReferencesController.cs

* Rename action to get

* Add DescendantTrackedReferencesController

* make filterMustBeIsDependency nullable

* Use count instead of capacity

* Rename controller

* Add MultipleTrackedReferencesController.cs

* Refactor TrackedReferencesService to not return pagedViewModel

* Remove TODO untill consensus on convention

* Formatting

* Delete old duplicate controller

* Fix up naming

* Fix up naming and fixed todo

* Fix up mapdefinition registrations

* Rename controllers

* Fix naming

* Fix nullable tree

* Fix up relation controller & action names

* Fix naming

* Fix up multiple to not be post

* Apply suggestions from code review

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Remove [ApiVersion] from each individual controller and added to base instead

* Added missing semi-colon

* Update all "non-async async" endpoints to return Task.FromResult

* Fixed up LanguageViewModels namespace

* Return proper status code

* Update xml documentation

* Rename GetAllCultureController

* Change return type attribute to proper Model

* Change return type attribute to correct model

* Add clarifying comment

* Change return type attribute to proper model

* Rename ById to by key

* Update DictionaryOverviewViewModel to use Key instead of ID

* Implement factory method to create viewModel instead of using services in mapper

* Fix up DictionaryItemViewModel to use Parent GUID instead of ID

* Update return type attribute to correct model

* Update key to actual GUID instead of string

* Update route to not include "delete"

* Remove redundant IActionResult specification

* Update responseType attribute to correct models

* Update OpenApiTag for DictionaryControllerBase

* Update ResponseType attribute to correct models

* update variable name to not be "XD"

* Update ResponseType attribute to correct model

* Update route to not include "update" as it is redundant

* Update produces responsetype attributes to correct models

* Use IJsonSerializer abstraction instead of JsonConvert directly

* Remove unused field

* Change ResponseType attribute to correct model

* change TrackedReferencesSkipTakeService to return pagedModels directly

* Remove duplicate DI

* change to better variable names

* Move RelationItemModel to core

* Remove empty folder

* Remove ITrackedReferencesSkipTakeService and add it to TrackedReferencesService

* remove TrackedReferencesSkipTakeRepository and add to TrackedReferencesRepository.cs

* Fix up TrackedReferencesService to not use SkipTake repository

* Remove AddRepositories from ManagementApiComposer

* Transition to ManagementApiBaseController

* Fixes ResponseType attribute to correct model

* Add loading files to service instead of having logic in controller

* Add todo comment

* Fix up routing for delete language

* Use problem details builder

* Add SystemTextJsonSerializer

* Add SystemTextJsonSerializer

* Remove unused usings

* Remove obsolete MoveDictionaryController

* Remove CreateDate and UpdateDate from DictionaryViewModel

* Change response type to correct model

* Remove PagedViewModelFactory.cs

* Add obsolete message

* Fix installer view models

A setter is required for the modelbinder to be able to do its work

* Update src/Umbraco.Cms.ManagementApi/Controllers/Analytics/SetAnalyticsController.cs

Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>

* Update ResponseType to correct Model

* Update comment

* Add FileUploadService

* Add DictionaryFactory.cs to handle creation of viewmodel

* Remove unused DI

* Rename actions & controllers to reflect eachother

* Update OpenApi.json

* Add dictionary to openapi

* Update in proper alphabetical order

* Add trackedReferences to openapi

* Fix open api doc

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

* Backport project cleanup from #12907

* Remove empty Directory.Build.props

* Fix GenerateAppsettingsSchema target

* Re-add empty Directory.Build.props to prevent inheritance

* Re-add missing JsonPatch.Net dependency

* Fix merge issues (redundant TargetFramework property and appsettings-schema.json generation)

* Fix and improve OpenAPI test assertion

Co-authored-by: Sebastiaan Janssen <sebastiaan@umbraco.com>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
Co-authored-by: Mads Rasmussen <madsr@hey.com>
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
Co-authored-by: Bjarne Fyrstenborg <bjarne_fyrstenborg@hotmail.com>
Co-authored-by: Erik-Jan Westendorp <erikjanwestendorp@outlook.com>
Co-authored-by: Andy Butland <abutland73@gmail.com>
Co-authored-by: Sean <29239704+Bakersbakebread@users.noreply.github.com>
Co-authored-by: Lucas Bach Bisgaard <rammi@rammi.dk>
Co-authored-by: Lucas Bach Bisgaard <lom@novicell.dk>
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
Co-authored-by: Busra Sengul <aysebusrasengul@gmail.com>
Co-authored-by: Justin Neville <justin@nevitech.co.uk>
Co-authored-by: Jeavon Leopold <jeavon@crumpled-dog.com>
Co-authored-by: Austin Gilbert <AGilbert@rbaconsulting.com>
Co-authored-by: patrickdemooij9 <patrickdemooij98@hotmail.com>
Co-authored-by: bakersbakebread <hello@seanthorne.co.uk>
Co-authored-by: Karl Butler <kbutler@carbonsix.digital>
2022-10-05 12:14:43 +02:00
Ronald BarendseandGitHub c9f6d6059d Add GitVersionBaseDirectory and fix typo 2022-10-03 16:10:22 +02:00
Andy ButlandandGitHub 7963b76d57 Adds additional deploy selector. (#13094) 2022-10-03 13:14:18 +02:00
Ronald BarendseandGitHub 3873a0735c v11: Decouple dependencies (#12907)
* Move core dependencies and MSBuild targets from Umbraco.Cms to Umbraco.Cms.Targets

* Re-add appsettings.Tests.json

* Include appsettings-schema.json

* Use .NET 7.x in CodeQL build

* Fix duplicate Directory.Build.props import

* Decouple ImageSharp/ImageSharp.Web implementations

* Further decouple SqlServer implementation

* Add SupportedImageFileTypes to IImageDimensionExtractor

* Update descriptions

* Update project metadata

* Re-enable package validation

* Add embedded package icon

* Move ContinuousIntegrationBuild to build script

* Move shared properties to root Directory.Build.props

* Fix GetInstallState throwing exception when default provider isn't configured

* Remove redundant PackageRequireLicenseAcceptance and update version to 11.0.0-rc1

* Update build script

* Remove LangVersion preview

* Disable app-local ICU for MacOS integration test

* Disable app-local ICU for all integration tests

* Fix RuntimeState_Run test assertion

* Update projects and build script to require Node.js 16.17 (latest LTS)

* Remove app-local ICU from unit tests

* Add missing project reference

* Generate XML documentation files

* Expose management API in Web.UI project

* Update .NET 7 dependencies to RC1

* Update package-lock.json files

* Downgrade Cypress version
2022-09-27 14:22:34 +02:00
Bjarke Berg d206df0cac Updated dependencies and cleaned up 2022-09-23 14:56:23 +02:00
510d8bf252 V11: Update the rich text editor TinyMCE to v6 (#13013)
* update 'tinymce' from v4 to v6

* add/remove plugin & file changes

* remove unsupported plugins

* update changes to tinymce api

* bump tinymce to 6.2.0

* reinstate fastdev task

* update rte prevalues

* fix styling of tinymce inline mode

* document new files

* update builtin allowed elements, plugins and styles

* update upload_image_handler to new format

* set correct startup plugins and config

* remove old config for "Paste from Word" which is no longer supported

* update naming in default toolbar

* replace fire() with dispatch()

* support resizing of other elements besides objects, e.g. tables

* replace fire() with dispatch()

* change classes for fullscreen styling

* handle special parsing of AngularJS json response

* remove deprecated tinymce options

* use EditorOptions API to get settings

* send in correct toolbar config

* update icons to use tinymce's new icon pack

* remove unused functions

* configure custom styles

* update docs

* add initial toolbars to grid rte

* change htmlId selector to support html id's with numbers

* remove pintoolbar as it is not compatible with tiny 6

* register custom option maxImageSize through the OptionsManager

* remove custom option

* Revert "register custom option maxImageSize through the OptionsManager"

This reverts commit 342354d6cd.

* register custom option maxImageSize and fetch through EditorOptions

* add rounding to forced image size

* remove fullscreen plugin as it is not available in prod build anyway and it does not work

* update API for uploadImages() function

* update string extensions IsFullPath to support more filepaths with new built-in Path.IsPathFullyQualified

* resolve TODO to switch to Path.IsPathFullyQualified supported from .NET Standard 2.1

* ensure that files are copied from the TEMP folder in the web root

* add dragstart event to drag-events series

* optimise isMediaPickerEnabled function with newer array function 'includes'

* add TEMP folder to gitignore (fx fileuploads)

* update selector for "Insert Macro" button in rte test

* remove old documentation

* Use content root instead of web root for uploaded images

* test IsFullPath without tricky UNC paths that are not useful

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2022-09-20 15:20:20 +02:00
Sebastiaan Janssen 084153157b Fix merge conflict 2022-09-20 13:30:26 +02:00
Sebastiaan Janssen 42c32e76f2 Merge branch 'v10/dev' into v11/dev
# Conflicts:
#	src/Umbraco.Cms.ManagementApi/ManagementApiComposer.cs
2022-09-20 10:56:01 +02:00
Bjarke BergandSebastiaan Janssen d139f4acc0 Updated dependencies and fixed new NRT issues
(cherry picked from commit 803c044b60)
(cherry picked from commit b2b2903a6e)
2022-09-20 10:48:29 +02:00
Sebastiaan Janssen 40035aa629 Merge branch 'v10/dev' into v11/dev 2022-09-20 09:13:22 +02:00
Sebastiaan Janssen db5d05d641 Revert files that shouldn't change back in v11 2022-09-19 16:37:24 +02:00
Sebastiaan Janssen 85147fb5e8 Merge branch 'v10/dev' into v11/dev 2022-09-19 16:25:44 +02:00
Bjarke Berg 1ddfcba686 Updated more dependencies 2022-09-19 12:50:56 +02:00
7647 changed files with 208587 additions and 416762 deletions
+3 -2
View File
@@ -1,3 +1,4 @@
**/*
!**/bin/**
!**/obj/**
!tests/Umbraco.Tests.Integration/bin/**
!tests/Umbraco.Tests.UnitTests/bin/**
**/node_modules
-4
View File
@@ -22,7 +22,3 @@ RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/
# https://docs.npmjs.com/cli/v6/using-npm/config#unsafe-perm
# Default: false if running as root, true otherwise (we are ROOT)
#RUN npm -g config set user vscode && npm -g config set unsafe-perm
# Generate and trust a local developer certificate for Kestrel
# This is needed for Kestrel to bind on https
RUN dotnet dev-certs https --trust
+52 -2
View File
@@ -6,6 +6,7 @@
"service": "app",
"workspaceFolder": "/workspace",
// Set *default* container specific settings.json values on container create.
"settings": {
"omnisharp.defaultLaunchSolution": "umbraco.sln",
@@ -13,13 +14,62 @@
"omnisharp.enableRoslynAnalyzers": true
},
"features": {
// Workaround until the image is updated to include the latest version of .NET Core - .NET7
// https://github.com/devcontainers/templates/issues/38#issuecomment-1310803259
"ghcr.io/devcontainers/features/dotnet:1": {
"version": "7"
},
// Adds SSH support to the container
// Allowing the Github CLI `gh codespace ssh` to work
"ghcr.io/devcontainers/features/sshd:1": {
"version": "latest"
},
// Adds SQLite feature from apt install
// Also adds the SQLite VSCode extension
"ghcr.io/warrenbuckley/codespace-features/sqlite:1": {}
},
// Add the IDs of extensions you want installed when the container is created.
"extensions": [
"ms-dotnettools.csharp"
],
// This is used in the prebuilds - so dotnet build (nuget restore and node stuff) is done
"updateContentCommand": "dotnet build umbraco.sln && dotnet dev-certs https --trust",
// Use 'forwardPorts' to make a list of ports inside the container available locally.
"forwardPorts": [9000, 5000, 25]
// Use 'forwardPorts' to make a list of ports inside the container available locallAdd "forwardPorts": [9000, 5000, 25],
// Port needed to help discover SMTP4Dev
"forwardPorts": [
5000
],
"portsAttributes": {
"5000": {
"label": "SMTP4Dev",
"protocol": "http",
"onAutoForward": "notify"
},
"9000": {
"label": "Umbraco HTTP",
"protocol": "http",
"onAutoForward": "notify"
},
"44331": {
"label": "Umbraco HTTPS",
"protocol": "https",
"onAutoForward": "notify"
}
},
"customizations": {
"codespaces": {
"openFiles": [
".github/codespaces-readme.md"
]
}
}
// [Optional] To reuse of your local HTTPS dev cert:
//
+1
View File
@@ -248,6 +248,7 @@ csharp_preserve_single_line_blocks = true
##########################################
[*.{cs,csx,cake,vb,vbx}]
dotnet_diagnostic.CS1591.severity = suggestion
##########################################
# Styles
+37 -154
View File
@@ -1,4 +1,4 @@
# Umbraco CMS Build
# Umbraco CMS Build
## Are you sure?
@@ -13,6 +13,16 @@ If the answer is yes, please read on. Otherwise, make sure to head on over [to t
↖️ You can jump to any section by using the "table of contents" button ( ![Table of contents icon](img/tableofcontentsicon.svg) ) above.
## Getting Started:
To run umbraco, we first need to initialize the client git submodule:
* 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.
### Latest version
* If you want to get the latest changes from the client repository, run `git submodule update` again which will pull the latest main branch.
## Debugging source locally
@@ -27,7 +37,7 @@ If you want to run a build without debugging, see [Building from source](#buildi
In order to build the Umbraco source code locally with Visual Studio Code, first make sure you have the following installed.
* [Visual Studio Code](https://code.visualstudio.com/)
* [dotnet SDK v6.0.2+](https://dotnet.microsoft.com/en-us/download)
* [dotnet SDK v7+](https://dotnet.microsoft.com/en-us/download)
* [Node.js v14+](https://nodejs.org/en/download/)
* npm v7+ (installed with Node.js)
* [Git command line](https://git-scm.com/download/)
@@ -40,18 +50,22 @@ You can also run the tasks manually on the command line:
```
cd src\Umbraco.Web.UI.Client
npm install
npm i
npm run dev
```
or
If you just want to build the UI Client to `Umbraco.Web.UI` then instead of running `dev`, you can do: `npm run build`.
The login screen is a different frontend build, for that one you can run it as follows:
```
cd src\Umbraco.Web.UI.Client
npm install
gulp dev
cd src\Umbraco.Web.UI.Login
npm i
npm run dev
```
If you just want to build the Login screen to `Umbraco.Web.UI` then instead of running `dev`, you can do: `npm run build`.
**The initial Gulp build might take a long time - don't worry, this will be faster on subsequent runs.**
You might run into [Gulp quirks](#gulp-quirks).
@@ -72,7 +86,7 @@ When the page eventually loads in your web browser, you can follow the installer
In order to build the Umbraco source code locally with Visual Studio, first make sure you have the following installed.
* [Visual Studio 2019 v16.8+ with .NET 6.0.2+](https://visualstudio.microsoft.com/vs/) ([the community edition is free](https://www.visualstudio.com/thank-you-downloading-visual-studio/?sku=Community&rel=15) for you to use to contribute to Open Source projects)
* [Visual Studio 2022 v17+ with .NET 7+](https://visualstudio.microsoft.com/vs/) ([the community edition is free](https://www.visualstudio.com/thank-you-downloading-visual-studio/?sku=Community&rel=15) for you to use to contribute to Open Source projects)
* [Node.js v14+](https://nodejs.org/en/download/)
* npm v7+ (installed with Node.js)
* [Git command line](https://git-scm.com/download/)
@@ -99,111 +113,33 @@ When the page eventually loads in your web browser, you can follow the installer
Did you read ["Are you sure"](#are-you-sure)?
### Quick!
Do note that this is only required if you want to test out your custom changes in a separate site (not the one in the Umbraco.Web.UI), if you just want to test your changes you can run the included test site using: `dotnet run` from `src/Umbraco.Web.UI/`
To build Umbraco, fire up PowerShell and move to Umbraco's repository root (the directory that contains `src`, `build`, `LICENSE.md`...). There, trigger the build with the following command:
You may want to build a set of NuGet packages with your changes, this can be done using the dotnet pack command.
build/build.ps1
First enter the root of the project in a command line environment, and then use the following command to build the NuGet packages:
If you only see a build.bat-file, you're probably on the wrong branch. If you switch to the correct branch (v8/contrib) the file will appear and you can build it.
`dotnet pack -c Release -o Build.Out`
You might run into [Powershell quirks](#powershell-quirks).
This will restore and build the project using the release configuration, and put all the outputted files in a folder called `Build.Out`
If it runs without errors; Hooray! Now you can continue with [the next step](CONTRIBUTING.md#how-do-i-begin) and open the solution and build it.
You can then add these as a local NuGet feed using the following command:
`dotnet nuget add source <Path to Build.Out folder> -n MyLocalFeed`
### Build Infrastructure
The Umbraco Build infrastructure relies on a PowerShell object. The object can be retrieved with:
$ubuild = build/build.ps1 -get
The object exposes various properties and methods that can be used to fine-grain build Umbraco. Some, but not all, of them are detailed below.
#### Properties
The object exposes the following properties:
* `SolutionRoot`: the absolute path to the solution root
* `VisualStudio`: a Visual Studio object (see below)
* `NuGet`: the absolute path to the NuGet executable
* `Zip`: the absolute path to the 7Zip executable
* `VsWhere`: the absolute path to the VsWhere executable
* `NodePath`: the absolute path to the Node install
* `NpmPath`: the absolute path to the Npm install
The Visual Studio object is `null` when Visual Studio has not been detected (eg on VSTS). When not null, the object exposes the following properties:
* `Path`: Visual Studio installation path (eg some place under `Program Files`)
* `Major`: Visual Studio major version (eg `15` for VS 2017)
* `Minor`: Visual Studio minor version
* `MsBuild`: the absolute path to the MsBuild executable
#### GetUmbracoVersion
Gets an object representing the current Umbraco version. Example:
$v = $ubuild.GetUmbracoVersion()
Write-Host $v.Semver
The object exposes the following properties:
* `Semver`: the semver object representing the version
* `Release`: the main part of the version (eg `7.6.33`)
* `Comment`: the pre release part of the version (eg `alpha02`)
* `Build`: the build number part of the version (eg `1234`)
#### SetUmbracoVersion
Modifies Umbraco files with the new version.
>This entirely replaces the legacy `UmbracoVersion.txt` file. Do *not* edit version infos in files.
The version must be a valid semver version. It can include a *pre release* part (eg `alpha02`) and/or a *build number* (eg `1234`). Examples:
$ubuild.SetUmbracoVersion("7.6.33")
$ubuild.SetUmbracoVersion("7.6.33-alpha.2")
$ubuild.SetUmbracoVersion("7.6.33+1234")
$ubuild.SetUmbracoVersion("7.6.33-beta.5+5678")
#### Build
Builds Umbraco. Temporary files are generated in `build.tmp` while the actual artifacts (zip files, NuGet packages...) are produced in `build.out`. Example:
$ubuild.Build()
Some log files, such as MsBuild logs, are produced in `build.tmp` too. The `build` directory should remain clean during a build.
**Note: web.config**
Building Umbraco requires a clean `web.config` file in the `Umbraco.Web.UI` project. If a `web.config` file already exists, the `pre-build` task (see below) will save it as `web.config.temp-build` and replace it with a clean copy of `web.Template.config`. The original file is replaced once it is safe to do so, by the `pre-packages` task.
#### Build-UmbracoDocs
Builds umbraco documentation. Temporary files are generated in `build.tmp` while the actual artifacts (docs...) are produced in `build.out`. Example:
Build-UmbracoDocs
Some log files, such as MsBuild logs, are produced in `build.tmp` too. The `build` directory should remain clean during a build.
#### Verify-NuGet
Verifies that projects all require the same version of their dependencies, and that NuSpec files require versions that are consistent with projects. Example:
Verify-NuGet
This will add a local nuget feed with the name "MyLocalFeed" and you'll now be able to use your custom built NuGet packages.
### Cleaning up
Once the solution has been used to run a site, one may want to "reset" the solution in order to run a fresh new site again.
At the very minimum, you want
The easiest way to do this by deleting the following files and folders:
* src/Umbraco.Web.UI/appsettings.json
* src/Umbraco.Web.UI/umbraco/Data
git clean -Xdf src/Umbraco.Web.UI/App_Data
rm src/Umbraco.Web.UI/web.config
You only have to remove the connection strings from the appsettings, but removing the data folder ensures that the sqlite database gets deleted too.
Then, a simple 'Rebuild All' in Visual Studio will recreate a fresh `web.config` but should be quite fast (since it does not really need to rebuild anything).
The `clean` Git command force (`-f`) removes (`-X`, note the capital X) all files and directories (`-d`) that are ignored by Git.
Next time you run a build the `appsettings.json` file will be re-created in its default state.
This will leave media files and views around, but in most cases, it will be enough.
@@ -219,65 +155,12 @@ For git documentation see:
## Azure DevOps
Umbraco uses Azure DevOps for continuous integration, nightly builds and release builds. The Umbraco CMS project on DevOps [is available for anonymous users](https://umbraco.visualstudio.com/Umbraco%20Cms).
Umbraco uses Azure DevOps for continuous integration, nightly builds and release builds. The Umbraco CMS project on DevOps [is available for anonymous users](https://umbraco.visualstudio.com/Umbraco%20Cms)..
DevOps uses the `Build-Umbraco` command several times, each time passing a different *target* parameter. The supported targets are:
* `pre-build`: prepares the build
* `compile-belle`: compiles Belle
* `compile-umbraco`: compiles Umbraco
* `pre-tests`: prepares the tests
* `compile-tests`: compiles the tests
* `pre-packages`: prepares the packages
* `pkg-zip`: creates the zip files
* `pre-nuget`: prepares NuGet packages
* `pkg-nuget`: creates NuGet packages
All these targets are executed when `Build-Umbraco` is invoked without a parameter (or with the `all` parameter). On VSTS, compilations (of Umbraco and tests) are performed by dedicated DevOps tasks. Similarly, creating the NuGet packages is also performed by dedicated DevOps tasks.
Finally, the produced artifacts are published in two containers that can be downloaded from DevOps: `zips` contains the zip files while `nuget` contains the NuGet packages.
>During a DevOps build, some environment `UMBRACO_*` variables are exported by the `pre-build` target and can be reused in other targets *and* in DevOps tasks. The `UMBRACO_TMP` environment variable is used in `Umbraco.Tests` to disable some tests that have issues with DevOps at the moment.
The produced artifacts are published in a container that can be downloaded from DevOps called "nupkg" which contains all the NuGet packages that got built.
## Quirks
### PowerShell Quirks
There is a good chance that running `build.ps1` ends up in error, with messages such as
>The file ...\build.ps1 is not digitally signed. You cannot run this script on the current system. For more information about running scripts and setting execution policy, see about_Execution_Policies.
PowerShell has *Execution Policies* that may prevent the script from running. You can check the current policies with:
PS> Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser Undefined
LocalMachine RemoteSigned
Policies can be `Restricted`, `AllSigned`, `RemoteSigned`, `Unrestricted` and `Bypass`. Scopes can be `MachinePolicy`, `UserPolicy`, `Process`, `CurrentUser`, `LocalMachine`. You need the current policy to be `RemoteSigned`&mdash;as long as it is `Undefined`, the script cannot run. You can change the current user policy with:
PS> Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
Alternatively, you can do it at machine level, from within an elevated PowerShell session:
PS> Set-ExecutionPolicy -Scope LocalMachine -ExecutionPolicy RemoteSigned
And *then* the script should run. It *might* however still complain about executing scripts, with messages such as:
>Security warning - Run only scripts that you trust. While scripts from the internet can be useful, this script can potentially harm your computer. If you trust this script, use the Unblock-File cmdlet to allow the script to run without this warning message. Do you want to run ...\build.ps1?
[D] Do not run [R] Run once [S] Suspend [?] Help (default is "D"):
This is usually caused by the scripts being *blocked*. And that usually happens when the source code has been downloaded as a Zip file. When Windows downloads Zip files, they are marked as *blocked* (technically, they have a Zone.Identifier alternate data stream, with a value of "3" to indicate that they were downloaded from the Internet). And when such a Zip file is un-zipped, each and every single file is also marked as blocked.
The best solution is to unblock the Zip file before un-zipping: right-click the files, open *Properties*, and there should be a *Unblock* checkbox at the bottom of the dialog. If, however, the Zip file has already been un-zipped, it is possible to recursively unblock all files from PowerShell with:
PS> Get-ChildItem -Recurse *.* | Unblock-File
### Git Quirks
Git might have issues dealing with long file paths during build. You may want/need to enable `core.longpaths` support (see [this page](https://github.com/msysgit/msysgit/wiki/Git-cannot-create-a-file-or-directory-with-a-long-path) for details).
+25 -213
View File
@@ -4,244 +4,56 @@
These contribution guidelines are mostly just that - guidelines, not rules. This is what we've found to work best over the years, but if you choose to ignore them, we still love you! 💖 Use your best judgement, and feel free to propose changes to this document in a pull request.
## Coding not your thing? Or want more ways to contribute?
## Getting Started
We have a guide on [what to consider before you start](contributing-before-you-start.md) and more detailed guides at the end of this article.
This document covers contributing to the codebase of the CMS but [the community site has plenty of inspiration for other ways to get involved.][get involved]
If you don't feel you'd like to make code changes here, you can visit our [documentation repository][docs repo] and use your experience to contribute to making the docs we have, even better.
We also encourage community members to feel free to comment on others' pull requests and issues - the expertise we have is not limited to the Core Collaborators and HQ. So, if you see something on the issue tracker or pull requests you feel you can add to, please don't be shy.
## Table of contents
- [Before you start](#before-you-start)
* [Code of Conduct](#code-of-conduct)
* [What can I contribute?](#what-can-i-contribute)
+ [Making larger changes](#making-larger-changes)
+ [Pull request or package?](#pull-request-or-package)
+ [Ownership and copyright](#ownership-and-copyright)
- [Finding your first issue: Up for grabs](#finding-your-first-issue-up-for-grabs)
- [Making your changes](#making-your-changes)
+ [Keeping your Umbraco fork in sync with the main repository](#keeping-your-umbraco-fork-in-sync-with-the-main-repository)
+ [Style guide](#style-guide)
+ [Questions?](#questions)
- [Creating a pull request](#creating-a-pull-request)
- [The review process](#the-review-process)
* [Dealing with requested changes](#dealing-with-requested-changes)
+ [No longer available?](#no-longer-available)
* [The Core Collaborators team](#the-core-collaborators-team)
## Before you start
### Code of Conduct
This project and everyone participating in it, is governed by the [our Code of Conduct][code of conduct].
### What can I contribute?
We categorise pull requests (PRs) into two categories:
| PR type | Definition |
| --------- | ------------------------------------------------------------ |
| Small PRs | Bug fixes and small improvements - can be recognized by seeing a small number of changes and possibly a small number of new files. |
| Large PRs | New features and large refactorings - can be recognized by seeing a large number of changes, plenty of new files, updates to package manager files (NuGets packages.config, NPMs packages.json, etc.). |
Were usually able to handle small PRs pretty quickly. A community volunteer will do the initial review and flag it for Umbraco HQ as “community tested”. If everything looks good, it will be merged pretty quickly [as per the described process][review process].
We would love to follow the same process for larger PRs but this is not always possible due to time limitations and priorities that need to be aligned. We dont want to put up any barriers, but this document should set the correct expectations.
Not all changes are wanted, so on occasion we might close a PR without merging it but if we do, we will give you feedback why we can't accept your changes. **So make sure to [talk to us before making large changes][making larger changes]**, so we can ensure that you don't put all your hard work into something we would not be able to merge.
#### Making larger changes
[making larger changes]: #making-larger-changes
Please make sure to describe your larger ideas in an [issue (bugs)][issues] or [discussion (new features)][discussions], it helps to put in mock up screenshots or videos. If the change makes sense for HQ to include in Umbraco CMS we will leave you some feedback on how wed like to see it being implemented.
If a larger pull request is encouraged by Umbraco HQ, the process will be similar to what is described in the small PRs process above, we strive to feedback within 14 days. Finalizing and merging the PR might take longer though as it will likely need to be picked up by the development team to make sure everything is in order. Well keep you posted on the progress.
#### Pull request or package?
[pr or package]: #pull-request-or-package
If you're unsure about whether your changes belong in the core Umbraco CMS or if you should turn your idea into a package instead, make sure to [talk to us][making larger changes].
If it doesnt fit in CMS right now, we will likely encourage you to make it into a package instead. A package is a great way to check out popularity of a feature, learn how people use it, validate good usability and fix bugs. Eventually, a package could "graduate" to be included in the CMS.
#### Ownership and copyright
It is your responsibility to make sure that you're allowed to share the code you're providing us. For example, you should have permission from your employer or customer to share code.
Similarly, if your contribution is copied or adapted from somewhere else, make sure that the license allows you to reuse that for a contribution to Umbraco-CMS.
If you're not sure, leave a note on your contribution and we will be happy to guide you.
When your contribution has been accepted, it will be [MIT licensed][MIT license] from that time onwards.
## Finding your first issue: Up for grabs
Umbraco HQ will regularly mark newly created issues on the issue tracker with [the `community/up-for-grabs` tag][up for grabs issues]. This means that the proposed changes are wanted in Umbraco but the HQ does not have the time to make them at this time. We encourage anyone to pick them up and help out.
If you do start working on something, make sure to leave a small comment on the issue saying something like: "I'm working on this". That way other people stumbling upon the issue know they don't need to pick it up, someone already has.
## Making your changes
Great question! The short version goes like this:
The following steps are a quick-start guide:
1. **Fork**
Create a fork of [`Umbraco-CMS` on GitHub][Umbraco CMS repo]
Create a fork of [`Umbraco-CMS` on GitHub](https://github.com/umbraco/Umbraco-CMS)
![Fork the repository](img/forkrepository.png)
1. **Clone**
2. **Clone**
When GitHub has created your fork, you can clone it in your favorite Git tool
When GitHub has created your fork, you can clone it in your favorite Git tool or on the command line with `git clone https://github.com/[YourUsername]/Umbraco-CMS`.
![Clone the fork](img/clonefork.png)
1. **Switch to the correct branch**
3. **Switch to the correct branch**
Switch to the `v10/contrib` branch
Switch to the `contrib` branch
1. **Build**
4. **Build**
Build your fork of Umbraco locally as described in the build documentation: you can [debug with Visual Studio Code][build - debugging with code] or [with Visual Studio][build - debugging with vs].
Build your fork of Umbraco locally [as described in the build documentation](BUILD.md), you can build with any IDE that supports dotnet or the command line.
1. **Branch**
5. **Branch**
Create a new branch now and name it after the issue you're fixing, we usually follow the format: `temp-12345`. This means it's a temporary branch for the particular issue you're working on, in this case issue number `12345`. Don't commit to `v10/contrib`, create a new branch first.
Create a new branch now and name it after the issue you're fixing, we usually follow the format: `temp/12345`. This means it's a temporary branch for the particular issue you're working on, in this case issue number `12345`. Don't commit to `contrib`, create a new branch first.
1. **Change**
6. **Change**
Make your changes, experiment, have fun, explore and learn, and don't be afraid. We welcome all contributions and will [happily give feedback][questions].
Make your changes, experiment, have fun, explore and learn, and don't be afraid. We welcome all contributions and will [happily give feedback](contributing-first-issue.md#questions).
1. **Commit and push**
7. **Commit and push**
Done? Yay! 🎉
Remember to commit to your new `temp` branch, and don't commit to `v10/contrib`. Then you can push the changes up to your fork on GitHub.
Remember to commit to your new `temp` branch, and don't commit to `contrib`. Then you can push the changes up to your fork on GitHub.
#### Keeping your Umbraco fork in sync with the main repository
[sync fork]: #keeping-your-umbraco-fork-in-sync-with-the-main-repository
8. **Create pull request**
Once you've already got a fork and cloned your fork locally, you can skip steps 1 and 2 going forward. Just remember to keep your fork up to date before making further changes.
On GitHub, in your forked repository (`https://github.com/[YourUsername]/Umbraco-CMS`) you will see a banner saying that you pushed a new branch and a button to make a pull request. Tap the button and follow the instuctions.
To sync your fork with this original one, you'll have to add the upstream url. You only have to do this once:
Want to read further? [Creating a pull request and what happens next](contributing-creating-a-pr.md).
```
git remote add upstream https://github.com/umbraco/Umbraco-CMS.git
```
## Further contribution guides
Then when you want to get the changes from the main repository:
- [Before you start](contributing-before-you-start.md)
- [Finding your first issue: Up for grabs](contributing-before-you-start.md)
- [Contributing to the new backoffice](https://docs.umbraco.com/umbraco-backoffice/)
- [Unwanted changes](contributing-unwanted-changes.md)
- [Other ways to contribute](contributing-other-ways-to-contribute.md)
```
git fetch upstream
git rebase upstream/v10/contrib
```
In this command we're syncing with the `v10/contrib` branch, but you can of course choose another one if needed.
[More information on how this works can be found on the thoughtbot blog.][sync fork ext]
#### Style guide
To be honest, we don't like rules very much. We trust you have the best of intentions and we encourage you to create working code. If it doesn't look perfect then we'll happily help clean it up.
That said, the Umbraco development team likes to follow the hints that ReSharper gives us (no problem if you don't have this installed) and we've added a `.editorconfig` file so that Visual Studio knows what to do with whitespace, line endings, etc.
#### Questions?
[questions]: #questions
You can get in touch with [the core contributors team][core collabs] in multiple ways; we love open conversations and we are a friendly bunch. No question you have is stupid. Any question you have usually helps out multiple people with the same question. Ask away:
- If there's an existing issue on the issue tracker then that's a good place to leave questions and discuss how to start or move forward.
- If you want to ask questions on some code you've already written you can create a draft pull request, [detailed in a GitHub blog post][draft prs].
- Unsure where to start? Did something not work as expected? Try leaving a note in the ["Contributing to Umbraco"][contrib forum] forum. The team monitors that one closely, so one of us will be on hand and ready to point you in the right direction.
## Creating a pull request
Exciting! You're ready to show us your changes.
We recommend you to [sync with our repository][sync fork] before you submit your pull request. That way, you can fix any potential merge conflicts and make our lives a little bit easier.
GitHub will have picked up on the new branch you've pushed and will offer to create a Pull Request. Click that green button and away you go.
![Create a pull request](img/createpullrequest.png)
We like to use [git flow][git flow] as much as possible, but don't worry if you are not familiar with it. The most important thing you need to know is that when you fork the Umbraco repository, the default branch is set to something, usually `v10/contrib`. If you are working on v9, this is the branch you should be targeting.
Please note: we are no longer accepting features for v8 and below but will continue to merge security fixes as and when they arise.
## The review process
[review process]: #the-review-process
You've sent us your first contribution - congratulations! Now what?
The [Core Collaborators team][Core collabs] can now start reviewing your proposed changes and give you feedback on them. If it's not perfect, we'll either fix up what we need or we can request that you make some additional changes.
You will get an initial automated reply from our [Friendly Umbraco Robot, Umbrabot][Umbrabot], to acknowledge that weve seen your PR and well pick it up as soon as we can. You can take this opportunity to double check everything is in order based off the handy checklist Umbrabot provides.
You will get feedback as soon as the [Core Collaborators team][Core collabs] can after opening the PR. Youll most likely get feedback within a couple of weeks. Then there are a few possible outcomes:
- Your proposed change is awesome! We merge it in and it will be included in the next minor release of Umbraco
- If the change is a high priority bug fix, we will cherry-pick it into the next patch release as well so that we can release it as soon as possible
- Your proposed change is awesome but needs a bit more work, well give you feedback on the changes wed like to see
- Your proposed change is awesome but... not something were looking to include at this point. Well close your PR and the related issue (well be nice about it!). See [making larger changes][making larger changes] and [pull request or package?][pr or package]
### Dealing with requested changes
If you make the corrections we ask for in the same branch and push them to your fork again, the pull request automatically updates with the additional commit(s) so we can review it again. If all is well, we'll merge the code and your commits are forever part of Umbraco!
#### No longer available?
We understand you have other things to do and can't just drop everything to help us out.
So if were asking for your help to improve the PR well wait for two weeks to give you a fair chance to make changes. Well ask for an update if we dont hear back from you after that time.
If we dont hear back from you for 4 weeks, well close the PR so that it doesnt just hang around forever. Youre very welcome to re-open it once you have some more time to spend on it.
There will be times that we really like your proposed changes and well finish the final improvements wed like to see ourselves. You still get the credits and your commits will live on in the git repository.
### The Core Collaborators team
[Core collabs]: #the-core-collaborators-team
The Core Contributors team consists of one member of Umbraco HQ, [Sebastiaan][Sebastiaan], who gets assistance from the following community members who have committed to volunteering their free time:
- [Nathan Woulfe][Nathan Woulfe]
- [Joe Glombek][Joe Glombek]
- [Laura Weatherhead][Laura Weatherhead]
- [Michael Latouche][Michael Latouche]
- [Owain Williams][Owain Williams]
These wonderful people aim to provide you with a reply to your PR, review and test out your changes and on occasions, they might ask more questions. If they are happy with your work, they'll let Umbraco HQ know by approving the PR. HQ will have final sign-off and will check the work again before it is merged.
<!-- Reference links for easy updating -->
<!-- Local -->
[MIT license]: ../LICENSE.md "Umbraco's license declaration"
[build - debugging with vs]: BUILD.md#debugging-with-visual-studio "Details on building and debugging Umbraco with Visual Studio"
[build - debugging with code]: BUILD.md#debugging-with-vs-code "Details on building and debugging Umbraco with Visual Studio Code"
<!-- External -->
[Nathan Woulfe]: https://github.com/nathanwoulfe "Nathan's GitHub profile"
[Joe Glombek]: https://github.com/glombek "Joe's GitHub profile"
[Laura Weatherhead]: https://github.com/lssweatherhead "Laura's GitHub profile"
[Michael Latouche]: https://github.com/mikecp "Michael's GitHub profile"
[Owain Williams]: https://github.com/OwainWilliams "Owain's GitHub profile"
[Sebastiaan]: https://github.com/nul800sebastiaan "Senastiaan's GitHub profile"
[ Umbrabot ]: https://github.com/umbrabot
[git flow]: https://jeffkreeftmeijer.com/git-flow/ "An explanation of git flow"
[sync fork ext]: http://robots.thoughtbot.com/post/5133345960/keeping-a-git-fork-updated "Details on keeping a git fork updated"
[draft prs]: https://github.blog/2019-02-14-introducing-draft-pull-requests/ "Github's blog post providing details on draft pull requests"
[contrib forum]: https://our.umbraco.com/forum/contributing-to-umbraco-cms/
[get involved]: https://community.umbraco.com/get-involved/
[docs repo]: https://github.com/umbraco/UmbracoDocs
[code of conduct]: https://github.com/umbraco/.github/blob/main/.github/CODE_OF_CONDUCT.md
[up for grabs issues]: https://github.com/umbraco/Umbraco-CMS/issues?q=is%3Aissue+is%3Aopen+label%3Acommunity%2Fup-for-grabs
[Umbraco CMS repo]: https://github.com/umbraco/Umbraco-CMS
[issues]: https://github.com/umbraco/Umbraco-CMS/issues
[discussions]: https://github.com/umbraco/Umbraco-CMS/discussions
-18
View File
@@ -1,18 +0,0 @@
# New backoffice
> **Warning**:
> This is an early WIP and is set not to be packable since we don't want to release this yet. There will be breaking changes in these projects.
This solution folder contains the projects for the new backoffice. If you're looking to fix or improve the existing CMS, this is not the place to do it, although we do very much appreciate your efforts.
### Project structure
Since the new backoffice API is still very much a work in progress, we've created new projects for the new backoffice API:
* Umbrao.Cms.ManagementApi - The "presentation layer" for the management API
* "New" versions of existing projects, should be merged with the existing projects when the new API is released:
* Umbraco.New.Cms.Core
* Umbraco.New.Cms.Infrastructure
* Umbraco.New.Cms.Web.Common
This also means that we have to use "InternalsVisibleTo" for the new projects since these should be able to access the internal classes since they will when they get merged.
+34 -20
View File
@@ -1,39 +1,53 @@
# [Umbraco CMS](https://umbraco.com) &middot; [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](../LICENSE.md) [![Build status](https://umbraco.visualstudio.com/Umbraco%20Cms/_apis/build/status/Cms%208%20Continuous?branchName=v8/contrib)](https://umbraco.visualstudio.com/Umbraco%20Cms/_build?definitionId=75) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](CONTRIBUTING.md) [![Twitter](https://img.shields.io/twitter/follow/umbraco.svg?style=social&label=Follow)](https://twitter.com/intent/follow?screen_name=umbraco) [![Discord](https://img.shields.io/discord/869656431308189746)](https://discord.gg/umbraco)
# [Umbraco CMS](https://umbraco.com)
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.
[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](../LICENSE.md)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](CONTRIBUTING.md)
![Mastodon Follow](https://img.shields.io/mastodon/follow/110661369750014952?domain=https%3A%2F%2Fumbracocommunity.social)
[![Chat about Umbraco on Discord](https://img.shields.io/discord/869656431308189746?logo=discord&logoColor=fff)](https://discord.gg/umbraco)
[![Read what's going on in the Umbraco Discord chat now](https://img.shields.io/badge/read-discord-blue)](https://discord-chats.umbraco.com)
[![Build status](https://img.shields.io/azure-devops/build/umbraco/Umbraco%2520Cms/301?logo=azurepipelines&label=Azure%20Pipelines)](https://umbraco.visualstudio.com/Umbraco%20Cms/_build?definitionId=301)
### 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.
- [Installing Umbraco CMS](https://docs.umbraco.com/umbraco-cms/fundamentals/setup/install)
- [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 also via 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!
## Contributing
## Looking to contribute back to Umbraco?
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/).
+21
View File
@@ -0,0 +1,21 @@
# GitHub CodeSpaces
Umbraco source code can be edited inside the browser with VSCode and CodeSpaces.
This development environment comes with all the tools you need to build Umbraco source code.
## Debugging and Running
From VSCode browse to the Run and Debug section and then click the green button. This will build the Umbraco source code and attach a debugger and launch the site.
## Default Umbraco credentials
Username: test@umbraco.com
Password: password1234
## Test Email Server
A SMTP4Dev instance for testing email is available on port 5000.
## SQLite Database
The SQLite extension is preinstalled and allows you to open, query, edit the data inside the Umbraco SQLite database for ease of use.
+54
View File
@@ -0,0 +1,54 @@
## Before you start
### Code of Conduct
This project and everyone participating in it, is governed by the [our Code of Conduct][code of conduct].
### What can I contribute?
We categorise pull requests (PRs) into two categories:
| PR type | Definition |
| --------- | ------------------------------------------------------------ |
| Small PRs | Bug fixes and small improvements - can be recognized by seeing a small number of changes and possibly a small number of new files. |
| Large PRs | New features and large refactorings - can be recognized by seeing a large number of changes, plenty of new files, updates to package manager files (NuGets packages.config, NPMs packages.json, etc.). |
Were usually able to handle small PRs pretty quickly. A community volunteer will do the initial review and flag it for Umbraco HQ as “community tested”. If everything looks good, it will be merged pretty quickly [as per the described process][review process].
We would love to follow the same process for larger PRs but this is not always possible due to time limitations and priorities that need to be aligned. We dont want to put up any barriers, but this document should set the correct expectations.
Not all changes are wanted, so on occasion we might close a PR without merging it but if we do, we will give you feedback why we can't accept your changes. **So make sure to [talk to us before making large changes][making larger changes]**, so we can ensure that you don't put all your hard work into something we would not be able to merge.
#### Making larger changes
[making larger changes]: #making-larger-changes
Please make sure to describe your larger ideas in an [issue (bugs)][issues] or [discussion (new features)][discussions], it helps to put in mock up screenshots or videos. If the change makes sense for HQ to include in Umbraco CMS we will leave you some feedback on how wed like to see it being implemented.
If a larger pull request is encouraged by Umbraco HQ, the process will be similar to what is described in the small PRs process above, we strive to feedback within 14 days. Finalizing and merging the PR might take longer though as it will likely need to be picked up by the development team to make sure everything is in order. Well keep you posted on the progress.
#### Pull request or package?
[pr or package]: #pull-request-or-package
If you're unsure about whether your changes belong in the core Umbraco CMS or if you should turn your idea into a package instead, make sure to [talk to us][making larger changes].
If it doesnt fit in CMS right now, we will likely encourage you to make it into a package instead. A package is a great way to check out popularity of a feature, learn how people use it, validate good usability and fix bugs. Eventually, a package could "graduate" to be included in the CMS.
#### Ownership and copyright
It is your responsibility to make sure that you're allowed to share the code you're providing us. For example, you should have permission from your employer or customer to share code.
Similarly, if your contribution is copied or adapted from somewhere else, make sure that the license allows you to reuse that for a contribution to Umbraco-CMS.
If you're not sure, leave a note on your contribution and we will be happy to guide you.
When your contribution has been accepted, it will be [MIT licensed][MIT license] from that time onwards.
[MIT license]: ../LICENSE.md "Umbraco's license declaration"
[issues]: https://github.com/umbraco/Umbraco-CMS/issues
[discussions]: https://github.com/umbraco/Umbraco-CMS/discussions
+28
View File
@@ -0,0 +1,28 @@
### The Core Collaborators team
[Core collabs]: #the-core-collaborators-team
The Core Contributors team consists of one member of Umbraco HQ, [Sebastiaan][Sebastiaan], who gets assistance from the following community members who have committed to volunteering their free time:
- [Busra Sengul][Busra Sengul]
- [Emma Garland][Emma Garland]
- [George Bidder][George Bidder]
- [Jason Elkin][Jason Elkin]
- [Laura Neto][Laura Neto]
- [Kyle Eck][Kyle Eck]
- [Michael Latouche][Michael Latouche]
- [Sebastiaan][Sebastiaan]
These wonderful people aim to provide you with a reply to your PR, review and test out your changes and on occasions, they might ask more questions. If they are happy with your work, they'll let Umbraco HQ know by approving the PR. HQ will have final sign-off and will check the work again before it is merged.
<!-- External -->
[Busra Sengul]: https://github.com/busrasengul "Busra's GitHub profile"
[Emma Garland]: https://github.com/emmagarland "Emma's GitHub profile"
[George Bidder]: https://github.com/georgebid "George's GitHub profile"
[Jason Elkin]: https://github.com/jasonelkin "Jason's GitHub profile"
[Kyle Eck]: https://github.com/teckspeed "Kyle's GitHub profile"
[Laura Neto]: https://github.com/lauraneto "Laura's GitHub profile"
[Michael Latouche]: https://github.com/mikecp "Michael's GitHub profile"
[Sebastiaan]: https://github.com/nul800sebastiaan "Sebastiaan's GitHub profile"
+51
View File
@@ -0,0 +1,51 @@
## Creating a pull request
Exciting! You're ready to show us your changes.
We recommend you to [sync with our repository][sync fork] before you submit your pull request. That way, you can fix any potential merge conflicts and make our lives a little bit easier.
GitHub will have picked up on the new branch you've pushed and will offer to create a Pull Request. Click that green button and away you go.
![Create a pull request](img/createpullrequest.png)
We like to use [git flow][git flow] as much as possible, but don't worry if you are not familiar with it. The most important thing you need to know is that when you fork the Umbraco repository, the default branch is set to `contrib`. This is the branch you should be targeting.
Please note: we are no longer accepting features for v8 and below but will continue to merge security fixes as and when they arise.
## The review process
[review process]: #the-review-process
You've sent us your contribution - congratulations! Now what?
The [Core Collaborators team][Core collabs] can now start reviewing your proposed changes and give you feedback on them. If it's not perfect, we'll either fix up what we need or we can request that you make some additional changes.
You will get an initial automated reply from our [Friendly Umbraco Robot, Umbrabot][Umbrabot], to acknowledge that weve seen your PR and well pick it up as soon as we can. You can take this opportunity to double check everything is in order based off the handy checklist Umbrabot provides.
You will get feedback as soon as the [Core Collaborators team][Core collabs] can after opening the PR. Youll most likely get feedback within a couple of weeks. Then there are a few possible outcomes:
- Your proposed change is awesome! We merge it in and it will be included in the next minor release of Umbraco
- If the change is a high priority bug fix, we will cherry-pick it into the next patch release as well so that we can release it as soon as possible
- Your proposed change is awesome but needs a bit more work, well give you feedback on the changes wed like to see
- Your proposed change is awesome but... not something were looking to include at this point. Well close your PR and the related issue (well be nice about it!). See [making larger changes][making larger changes] and [pull request or package?][pr or package]
### Dealing with requested changes
If you make the corrections we ask for in the same branch and push them to your fork again, the pull request automatically updates with the additional commit(s) so we can review it again. If all is well, we'll merge the code and your commits are forever part of Umbraco!
#### No longer available?
We understand you have other things to do and can't just drop everything to help us out.
So if were asking for your help to improve the PR well wait for two weeks to give you a fair chance to make changes. Well ask for an update if we dont hear back from you after that time.
If we dont hear back from you for 4 weeks, well close the PR so that it doesnt just hang around forever. Youre very welcome to re-open it once you have some more time to spend on it.
There will be times that we really like your proposed changes and well finish the final improvements wed like to see ourselves. You still get the credits and your commits will live on in the git repository.
[ Umbrabot ]: https://github.com/umbrabot
[git flow]: https://jeffkreeftmeijer.com/git-flow/ "An explanation of git flow"
[making larger changes]: contributing-before-you-start.md#making-large-changes
[pr or package]: contributing-before-you-start.md#pull-request-or-package
[Core collabs]: contributing-core-collabs-team.md
+93
View File
@@ -0,0 +1,93 @@
## Finding your first issue: Up for grabs
Umbraco HQ will regularly mark newly created issues on the issue tracker with [the `community/up-for-grabs` tag][up for grabs issues]. This means that the proposed changes are wanted in Umbraco but the HQ does not have the time to make them at this time. We encourage anyone to pick them up and help out.
If you do start working on something, make sure to leave a small comment on the issue saying something like: "I'm working on this". That way other people stumbling upon the issue know they don't need to pick it up, someone already has.
## Making your changes
Great question! The short version goes like this:
1. **Fork**
Create a fork of [`Umbraco-CMS` on GitHub][Umbraco CMS repo]
![Fork the repository](img/forkrepository.png)
1. **Clone**
When GitHub has created your fork, you can clone it in your favorite Git tool
![Clone the fork](img/clonefork.png)
1. **Switch to the correct branch**
Switch to the `contrib` branch
1. **Build**
Build your fork of Umbraco locally as described in the build documentation: you can [debug with Visual Studio Code][build - debugging with code] or [with Visual Studio][build - debugging with vs].
1. **Branch**
Create a new branch now and name it after the issue you're fixing, we usually follow the format: `temp-12345`. This means it's a temporary branch for the particular issue you're working on, in this case issue number `12345`. Don't commit to `contrib`, create a new branch first.
1. **Change**
Make your changes, experiment, have fun, explore and learn, and don't be afraid. We welcome all contributions and will [happily give feedback][questions].
1. **Commit and push**
Done? Yay! 🎉
Remember to commit to your new `temp` branch, and don't commit to `contrib`. Then you can push the changes up to your fork on GitHub.
#### Keeping your Umbraco fork in sync with the main repository
[sync fork]: #keeping-your-umbraco-fork-in-sync-with-the-main-repository
Once you've already got a fork and cloned your fork locally, you can skip steps 1 and 2 going forward. Just remember to keep your fork up to date before making further changes.
To sync your fork with this original one, you'll have to add the upstream url. You only have to do this once:
```
git remote add upstream https://github.com/umbraco/Umbraco-CMS.git
```
Then when you want to get the changes from the main repository:
```
git fetch upstream
git rebase upstream/contrib
```
In this command we're syncing with the `contrib` branch, but you can of course choose another one if needed.
[More information on how this works can be found on the thoughtbot blog.][sync fork ext]
#### Style guide
To be honest, we don't like rules very much. We trust you have the best of intentions and we encourage you to create working code. If it doesn't look perfect then we'll happily help clean it up.
That said, the Umbraco development team likes to follow the hints that ReSharper gives us (no problem if you don't have this installed) and we've added a `.editorconfig` file so that Visual Studio knows what to do with whitespace, line endings, etc.
#### Questions?
[questions]: #questions
You can get in touch with [the core contributors team][core collabs] in multiple ways; we love open conversations and we are a friendly bunch. No question you have is stupid. Any question you have usually helps out multiple people with the same question. Ask away:
- If there's an existing issue on the issue tracker then that's a good place to leave questions and discuss how to start or move forward.
- If you want to ask questions on some code you've already written you can create a draft pull request, [detailed in a GitHub blog post][draft prs].
- Unsure where to start? Did something not work as expected? Try leaving a note in the ["Contributing to Umbraco"][contrib forum] forum. The team monitors that one closely, so one of us will be on hand and ready to point you in the right direction.
<!-- Local -->
[build - debugging with vs]: BUILD.md#debugging-with-visual-studio "Details on building and debugging Umbraco with Visual Studio"
[build - debugging with code]: BUILD.md#debugging-with-vs-code "Details on building and debugging Umbraco with Visual Studio Code"
[sync fork ext]: http://robots.thoughtbot.com/post/5133345960/keeping-a-git-fork-updated "Details on keeping a git fork updated"
[draft prs]: https://github.blog/2019-02-14-introducing-draft-pull-requests/ "Github's blog post providing details on draft pull requests"
[contrib forum]: https://our.umbraco.com/forum/contributing-to-umbraco-cms/
[Umbraco CMS repo]: https://github.com/umbraco/Umbraco-CMS
[up for grabs issues]: https://github.com/umbraco/Umbraco-CMS/issues?q=is%3Aissue+is%3Aopen+label%3Acommunity%2Fup-for-grabs
@@ -0,0 +1,10 @@
## Coding not your thing? Or want more ways to contribute?
This document covers contributing to the codebase of the CMS but [the community site has plenty of inspiration for other ways to get involved.][get involved]
If you don't feel you'd like to make code changes here, you can visit our [documentation repository][docs repo] and use your experience to contribute to making the docs we have, even better.
We also encourage community members to feel free to comment on others' pull requests and issues - the expertise we have is not limited to the Core Collaborators and HQ. So, if you see something on the issue tracker or pull requests you feel you can add to, please don't be shy.
[get involved]: https://community.umbraco.com/get-involved/
[docs repo]: https://github.com/umbraco/UmbracoDocs
+18
View File
@@ -0,0 +1,18 @@
## Unwanted changes
While most changes are welcome, there are certain types of changes that are discouraged and might get your pull request refused.
Of course this will depend heavily on the specific change, but please take the following examples in mind.
- **Breaking changes (code and/or behavioral) 💥** - sometimes it can be a bit hard to know if a change is breaking or not. Fortunately, if it relates to code, the build will fail and warn you.
- **Large refactors 🤯** - the larger the refactor, the larger the probability of introducing new bugs/issues.
- **Changes to obsolete code and/or property editors ✍️**
- **Adding new config options 🦾** - while having more flexibility is (most of the times) better, having too many options can also become overwhelming/confusing, especially if there are other (good/simple) ways to achieve it.
- **Whitespace changes 🫥** - while some of our files might not follow the formatting/whitespace rules (mostly old ones), changing several of them in one go would cause major merge conflicts with open pull requests or other work in progress. Do feel free to fix these when you are working on another issue/feature and end up "touching" those files!
- **Adding new extension/helper methods ✋** - keep in mind that more code also means more to maintain, so if a helper is only meaningful for a few, it might not be worth adding it to the core.
While these are only a few examples, it is important to ask yourself these questions before making a pull request:
- How many will benefit from this change?
- Are there other ways to achieve this? And if so, how do they compare?
- How maintainable is the change?
- What would be the effort to test it properly?
- Do the benefits outweigh the risks?
+38
View File
@@ -0,0 +1,38 @@
# .github/release.yml
changelog:
exclude:
labels:
- ignore-for-release
- duplicate
- wontfix
categories:
- title: 🙌 Notable Changes
labels:
- category/notable
- title: 💥 Breaking Changes
labels:
- category/breaking
- title: 🐛 Bug Fixes
labels:
- type/bug
- category/bug
- type/improvement
- title: 📄 Documentation
labels:
- category/documentation
- title: 🏠 Internal
labels:
- internal
- title: 📦 Dependencies
labels:
- dependencies
- title: 🌈 A11Y
labels:
- category/accessibility
- title: 🚀 New Features
labels:
- type/feature
- title: Other Changes
labels:
- '*'
@@ -1,58 +0,0 @@
name: Add issues to review project
on:
issues:
types:
- opened
permissions:
contents: read
jobs:
get-user-type:
runs-on: ubuntu-latest
outputs:
ignored: ${{ steps.set-output.outputs.ignored }}
steps:
- name: Install dependencies
run: |
npm install node-fetch@2
- uses: actions/github-script@v5
name: "Determing HQ user or not"
id: set-output
with:
script: |
const fetch = require('node-fetch');
const response = await fetch('https://collaboratorsv2.euwest01.umbraco.io/umbraco/api/users/IsIgnoredUser', {
method: 'post',
body: JSON.stringify('${{ github.event.issue.user.login }}'),
headers: {
'Authorization': 'Bearer ${{ secrets.OUR_BOT_API_TOKEN }}',
'Content-Type': 'application/json'
}
});
var isIgnoredUser = true;
try {
if(response.status === 200) {
const data = await response.text();
isIgnoredUser = data === "true";
} else {
console.log("Returned data not indicate success:", response.status);
}
} catch(error) {
console.log(error);
};
core.setOutput("ignored", isIgnoredUser);
console.log("Ignored is", isIgnoredUser);
add-to-project:
permissions:
repository-projects: write # for actions/add-to-project
if: needs.get-user-type.outputs.ignored == 'false'
runs-on: ubuntu-latest
needs: [get-user-type]
steps:
- uses: actions/add-to-project@main
with:
project-url: https://github.com/orgs/${{ github.repository_owner }}/projects/21
github-token: ${{ secrets.ADD_TO_PROJECT_PAT }}
+4 -2
View File
@@ -15,14 +15,15 @@ permissions:
contents: read
env:
dotnetVersion: 6.x
dotnetIncludePreviewVersions: false
dotnetVersion: 8.x
dotnetIncludePreviewVersions: true
solution: umbraco.sln
buildConfiguration: SkipTests
DOTNET_NOLOGO: true
DOTNET_GENERATE_ASPNET_CERTIFICATE: false
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
DOTNET_CLI_TELEMETRY_OPTOUT: true
NODE_OPTIONS: --max_old_space_size=16384
jobs:
CodeQL-Build:
@@ -37,6 +38,7 @@ jobs:
uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: true
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
@@ -18,8 +18,6 @@ jobs:
uses: actions/github-script@v6
with:
script: |
const fetch = require('node-fetch')
const response = await fetch('https://collaboratorsv2.euwest01.umbraco.io/umbraco/api/comments/PostComment', {
method: 'post',
body: JSON.stringify({
@@ -20,7 +20,6 @@ jobs:
uses: actions/github-script@v6
with:
script: |
const fetch = require('node-fetch');
const response = await fetch('https://collaboratorsv2.euwest01.umbraco.io/umbraco/api/comments/PostComment', {
method: 'post',
body: JSON.stringify({
+18 -6
View File
@@ -50,10 +50,6 @@ tools/docfx/
# Ignore rule for clearing out Belle (avoid rebuilding all the time)
preserve.belle
# Ignore rule for output of generated documentation files from grunt docserve
/src/Umbraco.Web.UI.Docs/api/
/src/Umbraco.Web.UI.Docs/package-lock.json
# csharp-docs
/build/csharp-docs/api/
/build/csharp-docs/_site/
@@ -68,7 +64,13 @@ preserve.belle
/build/docs.zip
/build/ui-docs.zip
/build/csharp-docs.zip
/src/Umbraco.Cms.StaticAssets/wwwroot/umbraco/
/src/Umbraco.Cms.StaticAssets/wwwroot/umbraco/auth
/src/Umbraco.Cms.StaticAssets/wwwroot/umbraco/backoffice
/src/Umbraco.Cms.StaticAssets/wwwroot/umbraco/assets
/src/Umbraco.Cms.StaticAssets/wwwroot/umbraco/js
/src/Umbraco.Cms.StaticAssets/wwwroot/umbraco/lib
/src/Umbraco.Cms.StaticAssets/wwwroot/umbraco/views
/src/Umbraco.Cms.StaticAssets/wwwroot/umbraco/login
# Environment specific data
/src/Umbraco.Web.UI.Client/[Bb]uild/
@@ -91,6 +93,7 @@ preserve.belle
# Tests
/tests/Umbraco.Tests.AcceptanceTest/.env
/tests/Umbraco.Tests.AcceptanceTest/playwright/.auth
/tests/Umbraco.Tests.Integration.SqlCe/DatabaseContextTests.sdf
/tests/Umbraco.Tests.Integration.SqlCe/[Uu]mbraco/[Dd]ata/TEMP/
/tests/Umbraco.Tests.Integration/appsettings.Tests.Local.json
@@ -101,6 +104,15 @@ preserve.belle
/tests/Umbraco.Tests.UnitTests/[Uu]mbraco/[Dd]ata/TEMP/
# Ignore auto-generated schema
/src/Umbraco.Cms/appsettings-schema.json
/src/Umbraco.Cms.Targets/tasks/
/src/Umbraco.Cms.Targets/appsettings-schema.*.json
/src/Umbraco.Cms.Targets/umbraco-package-schema.json
/src/Umbraco.Web.UI/appsettings-schema.json
/src/Umbraco.Web.UI/appsettings-schema.*.json
/src/Umbraco.Web.UI/umbraco-package-schema.json
/tests/Umbraco.Tests.Integration/appsettings-schema.json
/tests/Umbraco.Tests.Integration/appsettings-schema.*.json
/tests/Umbraco.Tests.Integration/umbraco-package-schema.json
/src/Umbraco.Cms/appsettings-schema.json
playwright-report
trace.zip
+3
View File
@@ -0,0 +1,3 @@
[submodule "src/Umbraco.Web.UI.Client"]
path = src/Umbraco.Web.UI.Client
url = https://github.com/umbraco/Umbraco.CMS.Backoffice.git
-1
View File
@@ -8,7 +8,6 @@
"name": ".NET Core Launch (web)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "Dotnet build",
"program": "dotnet",
"args": ["run"],
"cwd": "${workspaceFolder}/src/Umbraco.Web.UI",
+17 -13
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<TargetFramework>net8.0</TargetFramework>
<Company>Umbraco HQ</Company>
<Authors>Umbraco</Authors>
<Copyright>Copyright © Umbraco $([System.DateTime]::Today.ToString('yyyy'))</Copyright>
@@ -16,37 +16,41 @@
<WarningsAsErrors>nullable</WarningsAsErrors>
<ImplicitUsings>enable</ImplicitUsings>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<WarnOnPackingNonPackableProject>false</WarnOnPackingNonPackableProject>
</PropertyGroup>
<!-- SourceLink -->
<PropertyGroup>
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
</PropertyGroup>
<!-- Package Validation -->
<PropertyGroup>
<GenerateCompatibilitySuppressionFile>true</GenerateCompatibilitySuppressionFile>
<EnablePackageValidation>true</EnablePackageValidation>
<PackageValidationBaselineVersion>10.0.0</PackageValidationBaselineVersion>
<PackageValidationBaselineVersion>14.0.0</PackageValidationBaselineVersion>
<EnableStrictModeForCompatibleFrameworksInPackage>true</EnableStrictModeForCompatibleFrameworksInPackage>
<EnableStrictModeForCompatibleTfms>true</EnableStrictModeForCompatibleTfms>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="all" IsImplicitlyDefined="true" />
<PackageReference Include="Nerdbank.GitVersioning" Version="3.5.113" PrivateAssets="all" IsImplicitlyDefined="true" />
<PackageReference Include="StyleCop.Analyzers" Version="1.2.0-beta.406" PrivateAssets="all" IsImplicitlyDefined="true" />
<PackageReference Include="Umbraco.Code" Version="2.0.0" PrivateAssets="all" IsImplicitlyDefined="true" />
<PackageReference Include="Umbraco.GitVersioning.Extensions" Version="0.1.1" PrivateAssets="all" IsImplicitlyDefined="true" />
</ItemGroup>
<!-- Calculate version only once for the whole repository -->
<PropertyGroup>
<GitVersionBaseDirectory>$(MSBuildThisFileDirectory)</GitVersionBaseDirectory>
</PropertyGroup>
<!-- Include icon in generated NuGet packages -->
<ItemGroup>
<Content Include="$(MSBuildThisFileDirectory)icon.png" Pack="true" PackagePath="" Visible="false" />
</ItemGroup>
<PropertyGroup>
<GitVersionBaseDirectory>$(MSBuildThisFileDirectory)</GitVersionBaseDirectory>
</PropertyGroup>
<!-- Use version range on project references (to limit on major version in generated packages) -->
<Target Name="_GetProjectReferenceVersionRanges" AfterTargets="_GetProjectReferenceVersions">
<ItemGroup>
<_ProjectReferencesWithVersions Condition="'%(ProjectVersion)' != ''">
<ProjectVersion>[%(ProjectVersion), $([MSBuild]::Add($([System.Text.RegularExpressions.Regex]::Match('%(ProjectVersion)', '^\d+').Value), 1)))</ProjectVersion>
</_ProjectReferencesWithVersions>
</ItemGroup>
</Target>
</Project>
+91
View File
@@ -0,0 +1,91 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<!-- Global packages (private, build-time packages for all projects) -->
<ItemGroup>
<GlobalPackageReference Include="Nerdbank.GitVersioning" Version="3.6.139" />
<GlobalPackageReference Include="StyleCop.Analyzers" Version="1.2.0-beta.556" />
<GlobalPackageReference Include="Umbraco.Code" Version="2.2.0" />
<GlobalPackageReference Include="Umbraco.GitVersioning.Extensions" Version="0.2.0" />
</ItemGroup>
<!-- Microsoft packages -->
<ItemGroup>
<PackageVersion Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="8.0.6" />
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="8.0.6" />
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.10.0" />
<PackageVersion Include="Microsoft.Data.Sqlite" Version="8.0.6" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Sqlite" Version="8.0.6" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.6" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.6" />
<PackageVersion Include="Microsoft.Extensions.Caching.Abstractions" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.Caching.Memory" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Abstractions" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Json" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.FileProviders.Embedded" Version="8.0.6" />
<PackageVersion Include="Microsoft.Extensions.FileProviders.Physical" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.Hosting.Abstractions" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.Http" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.Identity.Core" Version="8.0.6" />
<PackageVersion Include="Microsoft.Extensions.Identity.Stores" Version="8.0.6" />
<PackageVersion Include="Microsoft.Extensions.Logging" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.Options" Version="8.0.2" />
<PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.Options.DataAnnotations" Version="8.0.0" />
</ItemGroup>
<!-- Umbraco packages -->
<ItemGroup>
<PackageVersion Include="Umbraco.JsonSchema.Extensions" Version="0.3.0" />
<PackageVersion Include="Umbraco.CSharpTest.Net.Collections" Version="15.0.0" />
</ItemGroup>
<!-- Third-party packages -->
<ItemGroup>
<PackageVersion Include="Asp.Versioning.Mvc" Version="8.1.0" />
<PackageVersion Include="Asp.Versioning.Mvc.ApiExplorer" Version="8.1.0" />
<PackageVersion Include="Dazinator.Extensions.FileProviders" Version="2.0.0" />
<PackageVersion Include="Examine" Version="3.2.1" />
<PackageVersion Include="Examine.Core" Version="3.2.1" />
<PackageVersion Include="HtmlAgilityPack" Version="1.11.61" />
<PackageVersion Include="JsonPatch.Net" Version="3.1.0" />
<PackageVersion Include="K4os.Compression.LZ4" Version="1.3.8" />
<PackageVersion Include="MailKit" Version="4.6.0" />
<PackageVersion Include="Markdown" Version="2.2.1" />
<PackageVersion Include="MessagePack" Version="2.5.168" />
<PackageVersion Include="MiniProfiler.AspNetCore.Mvc" Version="4.3.8" />
<PackageVersion Include="MiniProfiler.Shared" Version="4.3.8" />
<PackageVersion Include="ncrontab" Version="3.3.3" />
<PackageVersion Include="NPoco" Version="5.7.1" />
<PackageVersion Include="NPoco.SqlServer" Version="5.7.1" />
<PackageVersion Include="OpenIddict.Abstractions" Version="5.7.0" />
<PackageVersion Include="OpenIddict.AspNetCore" Version="5.7.0" />
<PackageVersion Include="OpenIddict.EntityFrameworkCore" Version="5.7.0" />
<PackageVersion Include="Serilog" Version="3.1.1" />
<PackageVersion Include="Serilog.AspNetCore" Version="8.0.1" />
<PackageVersion Include="Serilog.Enrichers.Process" Version="2.0.2" />
<PackageVersion Include="Serilog.Enrichers.Thread" Version="3.1.0" />
<PackageVersion Include="Serilog.Expressions" Version="4.0.0" />
<PackageVersion Include="Serilog.Extensions.Hosting" Version="8.0.0" />
<PackageVersion Include="Serilog.Formatting.Compact" Version="2.0.0" />
<PackageVersion Include="Serilog.Formatting.Compact.Reader" Version="3.0.0" />
<PackageVersion Include="Serilog.Settings.Configuration" Version="8.0.1" />
<PackageVersion Include="Serilog.Sinks.Async" Version="1.5.0" />
<PackageVersion Include="Serilog.Sinks.File" Version="5.0.0" />
<PackageVersion Include="Serilog.Sinks.Map" Version="1.0.2" />
<PackageVersion Include="SixLabors.ImageSharp" Version="3.1.4" />
<PackageVersion Include="SixLabors.ImageSharp.Web" Version="3.1.2" />
<PackageVersion Include="Swashbuckle.AspNetCore" Version="6.6.2" />
</ItemGroup>
<!-- Transitive pinned versions (only required because our direct dependencies have vulnerable versions of transitive dependencies) -->
<ItemGroup>
<!-- Both Microsoft.EntityFrameworkCore.SqlServer and NPoco.SqlServer bring in a vulnerable version of Azure.Identity -->
<PackageVersion Include="Azure.Identity" Version="1.12.0" />
<!-- Dazinator.Extensions.FileProviders brings in a vulnerable version of System.Net.Http -->
<PackageVersion Include="System.Net.Http" Version="4.3.4" />
<!-- Examine brings in a vulnerable version of System.Security.Cryptography.Xml -->
<PackageVersion Include="System.Security.Cryptography.Xml" Version="8.0.1" />
<!-- Both Dazinator.Extensions.FileProviders and MiniProfiler.AspNetCore.Mvc bring in a vulnerable version of System.Text.RegularExpressions -->
<PackageVersion Include="System.Text.RegularExpressions" Version="4.3.1" />
</ItemGroup>
</Project>
+516 -257
View File
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -8,13 +8,13 @@ schedules:
displayName: Daily midnight build
branches:
include:
- v9/dev
- v10/dev
- v12/dev
- v13/dev
- v14/dev
steps:
- checkout: none
- task: TriggerBuild@4
inputs:
definitionIsInCurrentTeamProject: true
@@ -26,10 +26,10 @@ steps:
useSameBranch: true
waitForQueuedBuildsToFinish: false
storeInEnvironmentVariable: false
templateParameters: 'sqlServerIntegrationTests: true, forceReleaseTestFilter: true'
templateParameters: 'sqlServerIntegrationTests: true, sqlServerAcceptanceTests: true, forceReleaseTestFilter: true, myGetDeploy: true, isNightly: true'
authenticationMethod: 'OAuth Token'
enableBuildInQueueCondition: false
dependentOnSuccessfulBuildCondition: false
dependentOnFailedBuildCondition: false
checkbuildsoncurrentbranch: false
failTaskIfConditionsAreNotFulfilled: false
failTaskIfConditionsAreNotFulfilled: false
+31
View File
@@ -0,0 +1,31 @@
steps:
- task: NodeTool@0
displayName: Use Node.js
retryCountOnTaskFailure: 3
inputs:
versionSource: 'fromFile'
versionFilePath: src/Umbraco.Web.UI.Client/.nvmrc
- bash: |
echo "##[command]Install nbgv"
dotnet tool install --tool-path . nbgv
echo "##[command]Running nbgv get-version"
PACKAGE_VERSION=$(nbgv get-version -v NpmPackageVersion)
echo "##[command]Running npm version"
echo "##[debug]Version: $PACKAGE_VERSION"
cd src/Umbraco.Web.UI.Client
npm version $PACKAGE_VERSION --allow-same-version --no-git-tag-version
displayName: Set NPM Version
- task: Cache@2
displayName: Cache node_modules
inputs:
key: '"npm_client" | "$(Agent.OS)"| $(Build.SourcesDirectory)/src/Umbraco.Web.UI.Client/package-lock.json'
restoreKeys: |
"npm_client" | "$(Agent.OS)"
"npm_client"
path: $(npm_config_cache)
- script: npm ci --no-fund --no-audit --prefer-offline
displayName: Run npm ci (Bellissima)
workingDirectory: src/Umbraco.Web.UI.Client
+1 -1
View File
@@ -1,6 +1,6 @@
{
"sdk": {
"version": "6.0.300",
"version": "8.0.100",
"rollForward": "latestFeature"
}
}
-119
View File
@@ -1,119 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
</configSections>
<appSettings>
<add key="Umbraco.Core.ConfigurationStatus" value="6.0.0"/>
<add key="Umbraco.Core.ReservedUrls" value="~/config/splashes/booting.aspx,~/install/default.aspx,~/config/splashes/noNodes.aspx,~/VSEnterpriseHelper.axd,~/.well-known" />
<add key="Umbraco.Core.ReservedPaths" value="~/install/"/>
<add key="Umbraco.Core.Path" value="~/umbraco"/>
<add key="Umbraco.Core.HideTopLevelNodeFromPath" value="true"/>
<add key="Umbraco.Core.TimeOutInMinutes" value="20"/>
<add key="Umbraco.Core.DefaultUILanguage" value="en"/>
<add key="Umbraco.Core.UseHttps" value="false"/>
<add key="dataAnnotations:dataTypeAttribute:disableRegEx" value="false"/>
</appSettings>
<connectionStrings>
<add name="umbracoDbDSN" connectionString="Datasource=|DataDirectory|UmbracoNPocoTests.sdf;Flush Interval=1;" providerName="System.Data.SqlServerCe.4.0"/>
</connectionStrings>
<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SqlServerCe.4.0"/>
<add name="Microsoft SQL Server Compact Data Provider 4.0" invariant="System.Data.SqlServerCe.4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.1, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
</DbProviderFactories>
</system.data>
<system.web>
<httpRuntime targetFramework="4.5"/>
<compilation defaultLanguage="c#" debug="true" batch="false" targetFramework="4.0"></compilation>
<machineKey validationKey="5E7B955FCE36F5F2A867C2A0D85DC61E7FEA9E15F1561E8386F78BFE9EE23FF18B21E6A44AA17300B3B9D5DBEB37AA61A2C73884A5BBEDA6D3B14BA408A7A8CD" decryptionKey="116B853D031219E404E088FCA0986D6CF2DFA77E1957B59FCC9404B8CA3909A1" validation="SHA1" decryption="AES"/>
<!--<trust level="Medium" originUrl=".*"/>-->
<!-- Sitemap provider-->
<siteMap defaultProvider="UmbracoSiteMapProvider" enabled="true">
<providers>
<clear/>
<add name="UmbracoSiteMapProvider" type="umbraco.presentation.nodeFactory.UmbracoSiteMapProvider" defaultDescriptionAlias="description" securityTrimmingEnabled="true"/>
</providers>
</siteMap>
<!-- Membership Provider -->
<membership defaultProvider="UmbracoMembershipProvider" userIsOnlineTimeWindow="15">
<providers>
<clear/>
<add name="UmbracoMembershipProvider" type="Umbraco.Web.Security.Providers.MembersMembershipProvider, Umbraco.Web" minRequiredNonalphanumericCharacters="0" minRequiredPasswordLength="4" useLegacyEncoding="false" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" defaultMemberTypeAlias="Member" passwordFormat="Hashed"/>
</providers>
</membership>
</system.web>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2"/>
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security.Cookies" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security.OAuth" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.2.5.0" newVersion="1.2.5.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="0.0.0.0-5.2.7.0" newVersion="5.2.7.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ComponentModel.Annotations" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.1.0" newVersion="4.2.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.1" newVersion="4.2.0.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral"/>
<bindingRedirect oldVersion="4.0.0.0-4.0.3.0" newVersion="4.0.3.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral"/>
<bindingRedirect oldVersion="4.0.0.0-4.0.1.1" newVersion="4.0.1.1"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="4.0.0.0-4.1.4.0" newVersion="4.1.4.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
@@ -1,41 +0,0 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("Umbraco.Tests")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Umbraco.Tests")]
[assembly: AssemblyCopyright("Copyright © 2012")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("33ddf9b7-505c-4a12-8370-7fee9de5df6d")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
// Internals must be visible to DynamicProxyGenAssembly2
// in order to mock loggers loggers with types from the assembly
// I.E. Mock.Of<ILogger<TestControllerFactory>>()
[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")]
@@ -1,43 +0,0 @@
using System;
using System.Collections.Generic;
using NUnit.Framework;
using Umbraco.Cms.Core.Models.PublishedContent;
namespace Umbraco.Tests.Published
{
[TestFixture]
public class ModelTypeTests
{
//TODO these is not easy to move to the Unittest project due to underlysing NotImplementedException of Type.IsSZArray
[Test]
public void ModelTypeToStringTests()
{
var modelType = ModelType.For("alias1");
var modelTypeArray = modelType.MakeArrayType();
Assert.AreEqual("{alias1}", modelType.ToString());
// there's an "*" there because the arrays are not true SZArray - but that changes when we map
Assert.AreEqual("{alias1}[*]", modelTypeArray.ToString());
var enumArray = typeof(IEnumerable<>).MakeGenericType(modelTypeArray);
Assert.AreEqual("System.Collections.Generic.IEnumerable`1[{alias1}[*]]", enumArray.ToString());
}
[Test]
public void ModelTypeFullNameTests()
{
Assert.AreEqual("{alias1}", ModelType.For("alias1").FullName);
Type type = ModelType.For("alias1");
Assert.AreEqual("{alias1}", type.FullName);
// there's an "*" there because the arrays are not true SZArray - but that changes when we map
Assert.AreEqual("{alias1}[*]", ModelType.For("alias1").MakeArrayType().FullName);
// note the inner assembly qualified name
Assert.AreEqual("System.Collections.Generic.IEnumerable`1[[{alias1}[*], Umbraco.Core, Version=0.5.0.0, Culture=neutral, PublicKeyToken=null]]", typeof(IEnumerable<>).MakeGenericType(ModelType.For("alias1").MakeArrayType()).FullName);
}
}
}
@@ -1,45 +0,0 @@
using System.Linq;
using Microsoft.Extensions.DependencyInjection;
using Moq;
using Umbraco.Cms.Core.Configuration.Models;
using Umbraco.Cms.Core.Models.PublishedContent;
using Umbraco.Cms.Core.Routing;
using Umbraco.Cms.Core.Web;
using Umbraco.Cms.Tests.Common;
using Umbraco.Tests.TestHelpers;
namespace Umbraco.Tests.Routing
{
public abstract class BaseUrlProviderTest : BaseWebTest
{
protected IUmbracoContextAccessor UmbracoContextAccessor { get; } = new TestUmbracoContextAccessor();
protected abstract bool HideTopLevelNodeFromPath { get; }
protected override void Compose()
{
base.Compose();
Builder.Services.AddTransient<ISiteDomainMapper, SiteDomainMapper>();
}
protected override void ComposeSettings()
{
var contentSettings = new ContentSettings();
var userPasswordConfigurationSettings = new UserPasswordConfigurationSettings();
Builder.Services.AddTransient(x => Microsoft.Extensions.Options.Options.Create(contentSettings));
Builder.Services.AddTransient(x => Microsoft.Extensions.Options.Options.Create(userPasswordConfigurationSettings));
}
protected IPublishedUrlProvider GetPublishedUrlProvider(IUmbracoContext umbracoContext, DefaultUrlProvider urlProvider)
{
var webRoutingSettings = new WebRoutingSettings();
return new UrlProvider(
new TestUmbracoContextAccessor(umbracoContext),
Microsoft.Extensions.Options.Options.Create(webRoutingSettings),
new UrlProviderCollection(new[] { urlProvider }),
new MediaUrlProviderCollection(Enumerable.Empty<IMediaUrlProvider>()),
Mock.Of<IVariationContextAccessor>());
}
}
}
@@ -1,206 +0,0 @@
using System;
using System.Linq;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
using Moq;
using Newtonsoft.Json;
using NUnit.Framework;
using Umbraco.Cms.Core.Configuration.Models;
using Umbraco.Cms.Core.IO;
using Umbraco.Cms.Core.Models;
using Umbraco.Cms.Core.Models.PublishedContent;
using Umbraco.Cms.Core.PropertyEditors;
using Umbraco.Cms.Core.PropertyEditors.ValueConverters;
using Umbraco.Cms.Core.Routing;
using Umbraco.Cms.Core.Services;
using Umbraco.Cms.Core.Strings;
using Umbraco.Cms.Core.Web;
using Umbraco.Cms.Tests.Common;
using Umbraco.Cms.Tests.Common.Testing;
using Umbraco.Tests.PublishedContent;
using Umbraco.Tests.TestHelpers;
using Constants = Umbraco.Cms.Core.Constants;
namespace Umbraco.Tests.Routing
{
[TestFixture]
[UmbracoTest(Database = UmbracoTestOptions.Database.NewSchemaPerFixture)]
public class MediaUrlProviderTests : BaseWebTest
{
private DefaultMediaUrlProvider _mediaUrlProvider;
public override void SetUp()
{
base.SetUp();
var loggerFactory = NullLoggerFactory.Instance;
var mediaFileManager = new MediaFileManager(Mock.Of<IFileSystem>(), Mock.Of<IMediaPathScheme>(),
loggerFactory.CreateLogger<MediaFileManager>(), Mock.Of<IShortStringHelper>());
var contentSettings = new ContentSettings();
var dataTypeService = Mock.Of<IDataTypeService>();
var propertyEditors = new MediaUrlGeneratorCollection(new IMediaUrlGenerator[]
{
new FileUploadPropertyEditor(DataValueEditorFactory, mediaFileManager, Microsoft.Extensions.Options.Options.Create(contentSettings), dataTypeService, LocalizationService, LocalizedTextService, UploadAutoFillProperties, ContentService),
new ImageCropperPropertyEditor(DataValueEditorFactory, loggerFactory, mediaFileManager, Microsoft.Extensions.Options.Options.Create(contentSettings), dataTypeService, IOHelper, UploadAutoFillProperties, ContentService),
});
_mediaUrlProvider = new DefaultMediaUrlProvider(propertyEditors, UriUtility);
}
public override void TearDown()
{
base.TearDown();
_mediaUrlProvider = null;
}
[Test]
public void Get_Media_Url_Resolves_Url_From_Upload_Property_Editor()
{
const string expected = "/media/rfeiw584/test.jpg";
var umbracoContext = GetUmbracoContext("/");
var publishedContent = CreatePublishedContent(Constants.PropertyEditors.Aliases.UploadField, expected, null);
var resolvedUrl = GetPublishedUrlProvider(umbracoContext).GetMediaUrl(publishedContent, UrlMode.Auto);
Assert.AreEqual(expected, resolvedUrl);
}
[Test]
public void Get_Media_Url_Resolves_Url_From_Image_Cropper_Property_Editor()
{
const string expected = "/media/rfeiw584/test.jpg";
var configuration = new ImageCropperConfiguration();
var imageCropperValue = JsonConvert.SerializeObject(new ImageCropperValue
{
Src = expected
});
var umbracoContext = GetUmbracoContext("/");
var publishedContent = CreatePublishedContent(Constants.PropertyEditors.Aliases.ImageCropper, imageCropperValue, configuration);
var resolvedUrl = GetPublishedUrlProvider(umbracoContext).GetMediaUrl(publishedContent, UrlMode.Auto);
Assert.AreEqual(expected, resolvedUrl);
}
[Test]
public void Get_Media_Url_Can_Resolve_Absolute_Url()
{
const string mediaUrl = "/media/rfeiw584/test.jpg";
var expected = $"http://localhost{mediaUrl}";
var umbracoContext = GetUmbracoContext("http://localhost");
var publishedContent = CreatePublishedContent(Constants.PropertyEditors.Aliases.UploadField, mediaUrl, null);
var resolvedUrl = GetPublishedUrlProvider(umbracoContext).GetMediaUrl(publishedContent, UrlMode.Absolute);
Assert.AreEqual(expected, resolvedUrl);
}
[Test]
public void Get_Media_Url_Returns_Absolute_Url_If_Stored_Url_Is_Absolute()
{
const string expected = "http://localhost/media/rfeiw584/test.jpg";
var umbracoContext = GetUmbracoContext("http://localhost");
var publishedContent = CreatePublishedContent(Constants.PropertyEditors.Aliases.UploadField, expected, null);
var resolvedUrl = GetPublishedUrlProvider(umbracoContext).GetMediaUrl(publishedContent, UrlMode.Relative);
Assert.AreEqual(expected, resolvedUrl);
}
[Test]
public void Get_Media_Url_Returns_Empty_String_When_PropertyType_Is_Not_Supported()
{
var umbracoContext = GetUmbracoContext("/");
var publishedContent = CreatePublishedContent(Constants.PropertyEditors.Aliases.Boolean, "0", null);
var resolvedUrl = GetPublishedUrlProvider(umbracoContext).GetMediaUrl(publishedContent, UrlMode.Absolute, propertyAlias: "test");
Assert.AreEqual(string.Empty, resolvedUrl);
}
[Test]
public void Get_Media_Url_Can_Resolve_Variant_Property_Url()
{
var umbracoContext = GetUmbracoContext("http://localhost");
var umbracoFilePropertyType = CreatePropertyType(Constants.PropertyEditors.Aliases.UploadField, null, ContentVariation.Culture);
const string enMediaUrl = "/media/rfeiw584/en.jpg";
const string daMediaUrl = "/media/uf8ewud2/da.jpg";
var property = new SolidPublishedPropertyWithLanguageVariants
{
Alias = "umbracoFile",
PropertyType = umbracoFilePropertyType,
};
property.SetSourceValue("en", enMediaUrl, true);
property.SetSourceValue("da", daMediaUrl);
var contentType = new PublishedContentType(Guid.NewGuid(), 666, "alias", PublishedItemType.Content, Enumerable.Empty<string>(), new [] { umbracoFilePropertyType }, ContentVariation.Culture);
var publishedContent = new SolidPublishedContent(contentType) {Properties = new[] {property}};
var resolvedUrl = GetPublishedUrlProvider(umbracoContext).GetMediaUrl(publishedContent, UrlMode.Auto, "da");
Assert.AreEqual(daMediaUrl, resolvedUrl);
}
private IPublishedUrlProvider GetPublishedUrlProvider(IUmbracoContext umbracoContext)
{
var webRoutingSettings = new WebRoutingSettings();
return new UrlProvider(
new TestUmbracoContextAccessor(umbracoContext),
Microsoft.Extensions.Options.Options.Create(webRoutingSettings),
new UrlProviderCollection(Enumerable.Empty<IUrlProvider>()),
new MediaUrlProviderCollection(new []{_mediaUrlProvider}),
Mock.Of<IVariationContextAccessor>()
);
}
private static IPublishedContent CreatePublishedContent(string propertyEditorAlias, string propertyValue, object dataTypeConfiguration)
{
var umbracoFilePropertyType = CreatePropertyType(propertyEditorAlias, dataTypeConfiguration, ContentVariation.Nothing);
var contentType = new PublishedContentType(Guid.NewGuid(), 666, "alias", PublishedItemType.Content, Enumerable.Empty<string>(),
new[] {umbracoFilePropertyType}, ContentVariation.Nothing);
return new SolidPublishedContent(contentType)
{
Id = 1234,
Key = Guid.NewGuid(),
Properties = new[]
{
new SolidPublishedProperty
{
Alias = "umbracoFile",
SolidSourceValue = propertyValue,
SolidHasValue = true,
PropertyType = umbracoFilePropertyType
}
}
};
}
private static PublishedPropertyType CreatePropertyType(string propertyEditorAlias, object dataTypeConfiguration, ContentVariation variation)
{
var uploadDataType = new PublishedDataType(1234, propertyEditorAlias, new Lazy<object>(() => dataTypeConfiguration));
var propertyValueConverters = new PropertyValueConverterCollection(new IPropertyValueConverter[]
{
new UploadPropertyConverter(),
new ImageCropperValueConverter(Mock.Of<ILogger<ImageCropperValueConverter>>()),
});
var publishedModelFactory = Mock.Of<IPublishedModelFactory>();
var publishedContentTypeFactory = new Mock<IPublishedContentTypeFactory>();
publishedContentTypeFactory.Setup(x => x.GetDataType(It.IsAny<int>()))
.Returns(uploadDataType);
return new PublishedPropertyType("umbracoFile", 42, true, variation, propertyValueConverters, publishedModelFactory, publishedContentTypeFactory.Object);
}
}
}
-199
View File
@@ -1,199 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{5D3B8245-ADA6-453F-A008-50ED04BFE770}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Umbraco.Tests</RootNamespace>
<AssemblyName>Umbraco.Tests</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
<TargetFrameworkProfile />
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
<LangVersion>8</LangVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
<LangVersion>latest</LangVersion>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.configuration" />
<Reference Include="System.Core" />
<Reference Include="System.Data.Entity.Design" />
<Reference Include="System.Drawing" />
<Reference Include="System.IO" />
<Reference Include="System.IO.Compression" />
<Reference Include="System.IO.Compression.FileSystem" />
<Reference Include="System.Runtime.Caching" />
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Text.Encoding" />
<Reference Include="System.Web" />
<Reference Include="System.Web.ApplicationServices" />
<Reference Include="System.Web.Extensions" />
<Reference Include="System.Web.Services" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Castle.Core" Version="4.4.1" />
<PackageReference Include="Examine.Core">
<Version>2.0.0</Version>
</PackageReference>
<PackageReference Include="Castle.Core" Version="4.3.1" />
<PackageReference Include="Examine" Version="2.0.0" />
<PackageReference Include="HtmlAgilityPack">
<Version>1.11.31</Version>
</PackageReference>
<PackageReference Include="Lucene.Net.Contrib" Version="3.0.3" />
<PackageReference Include="Microsoft.AspNet.Identity.Core" Version="2.2.3" />
<PackageReference Include="Microsoft.AspNet.Mvc" Version="5.2.7" />
<PackageReference Include="Microsoft.AspNet.WebApi" Version="5.2.7" />
<PackageReference Include="Microsoft.AspNet.WebApi.Client" Version="5.2.7" />
<PackageReference Include="Microsoft.AspNet.WebApi.Owin" Version="5.2.7" />
<PackageReference Include="Microsoft.AspNet.WebApi.SelfHost" Version="5.2.7" />
<PackageReference Include="Microsoft.AspNet.WebApi.Tracing" Version="5.2.7" />
<PackageReference Include="Microsoft.AspNet.WebApi.WebHost" Version="5.2.7" />
<PackageReference Include="Microsoft.Extensions.Configuration.Abstractions">
<Version>5.0.0</Version>
</PackageReference>
<PackageReference Include="Microsoft.Extensions.Logging" Version="5.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="5.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Console">
<Version>5.0.0</Version>
</PackageReference>
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="5.0.0" />
<PackageReference Include="Microsoft.Owin" Version="4.1.1" />
<PackageReference Include="Microsoft.Owin.Hosting" Version="4.1.1" />
<PackageReference Include="Microsoft.Owin.Security" Version="4.1.1" />
<PackageReference Include="Microsoft.Owin.Testing" Version="4.1.1" />
<PackageReference Include="Microsoft.Web.Infrastructure" Version="1.0.0.0" />
<PackageReference Include="MiniProfiler" Version="4.2.22" />
<PackageReference Include="Moq" Version="4.16.1" />
<PackageReference Include="NUnit" Version="3.13.1" />
<PackageReference Include="NUnit3TestAdapter" Version="3.17.0" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
<PackageReference Include="MiniProfiler" Version="4.0.138" />
<PackageReference Include="Moq" Version="4.10.1" />
<PackageReference Include="Moq" Version="4.14.5" />
<PackageReference Include="NPoco" Version="3.9.4" />
<PackageReference Include="NUnit" Version="3.11.0" />
<PackageReference Include="NUnit3TestAdapter" Version="3.12.0" />
<PackageReference Include="NPoco" Version="4.0.3" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.1" />
<PackageReference Include="Owin" Version="1.0" />
<PackageReference Include="Selenium.WebDriver" Version="3.141.0" />
<PackageReference Include="System.Configuration.ConfigurationManager" Version="5.0.0" />
<PackageReference Include="System.ComponentModel.Annotations" Version="5.0.0" />
<PackageReference Include="System.Data.SqlClient" Version="4.8.2" />
<PackageReference Include="System.Threading.Tasks.Extensions" Version="4.5.4" />
<PackageReference Include="Umbraco.SqlServerCE" Version="4.0.0.1" />
</ItemGroup>
<ItemGroup>
<Compile Include="Published\ModelTypeTests.cs" />
<Compile Include="Routing\BaseUrlProviderTest.cs" />
<Compile Include="Routing\MediaUrlProviderTests.cs" />
<Compile Include="Scoping\ScopedNuCacheTests.cs" />
<Compile Include="Web\Controllers\AuthenticationControllerTests.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="App.config">
<SubType>Designer</SubType>
</None>
<None Include="unit-test-logger.config">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\Umbraco.Core\Umbraco.Core.csproj">
<Project>{29aa69d9-b597-4395-8d42-43b1263c240a}</Project>
<Name>Umbraco.Core</Name>
</ProjectReference>
<ProjectReference Include="..\..\src\Umbraco.Examine.Lucene\Umbraco.Examine.Lucene.csproj">
<Project>{0fad7d2a-d7dd-45b1-91fd-488bb6cdacea}</Project>
<Name>Umbraco.Examine.Lucene</Name>
</ProjectReference>
<ProjectReference Include="...\..\srcUmbraco.Infrastructure\Umbraco.Infrastructure.csproj">
<Project>{3ae7bf57-966b-45a5-910a-954d7c554441}</Project>
<Name>Umbraco.Infrastructure</Name>
</ProjectReference>
<ProjectReference Include="..\..\src\Umbraco.Persistence.SqlCe\Umbraco.Persistence.SqlCe.csproj">
<Project>{33085570-9bf2-4065-a9b0-a29d920d13ba}</Project>
<Name>Umbraco.Persistence.SqlCe</Name>
</ProjectReference>
<ProjectReference Include="..\..\src\Umbraco.PublishedCache.NuCache\Umbraco.PublishedCache.NuCache.csproj">
<Project>{f6de8da0-07cc-4ef2-8a59-2bc81dbb3830}</Project>
<Name>Umbraco.PublishedCache.NuCache</Name>
</ProjectReference>
<ProjectReference Include="..\Umbraco.Tests.Common\Umbraco.Tests.Common.csproj">
<Project>{a499779c-1b3b-48a8-b551-458e582e6e96}</Project>
<Name>Umbraco.Tests.Common</Name>
</ProjectReference>
<ProjectReference Include="..\..\src\Umbraco.Web\Umbraco.Web.csproj">
<Project>{651E1350-91B6-44B7-BD60-7207006D7003}</Project>
<Name>Umbraco.Web</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
</ItemGroup>
<ItemGroup />
<!-- get NuGet packages directory -->
<PropertyGroup>
<NuGetPackages>$(NuGetPackageFolders.Split(';')[0])</NuGetPackages>
</PropertyGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Target Name="BeforeBuild">
<Message Text="-BeforeBuild-" Importance="high" />
<Message Text="MSBuildExtensionsPath: $(MSBuildExtensionsPath)" Importance="high" />
<Message Text="WebPublishingTasks: $(WebPublishingTasks)" Importance="high" />
<Message Text="NuGetPackageFolders: $(NuGetPackageFolders)" Importance="high" />
<Message Text="NuGetPackages: $(NuGetPackages)" Importance="high" />
</Target>
</Project>
@@ -1,122 +0,0 @@
using Moq;
using NUnit.Framework;
using Umbraco.Cms.Core.Features;
using Umbraco.Cms.Core.Services;
using Umbraco.Cms.Tests.Common.Testing;
using Umbraco.Extensions;
using Umbraco.Tests.TestHelpers;
using Umbraco.Tests.Testing;
namespace Umbraco.Tests.Web.Controllers
{
[TestFixture]
[UmbracoTest(Database = UmbracoTestOptions.Database.None)]
public class AuthenticationControllerTests : TestWithDatabaseBase
{
protected override void ComposeApplication(bool withApplication)
{
base.ComposeApplication(withApplication);
//if (!withApplication) return;
// replace the true IUserService implementation with a mock
// so that each test can configure the service to their liking
Builder.Services.AddUnique(f => Mock.Of<IUserService>());
// kill the true IEntityService too
Builder.Services.AddUnique(f => Mock.Of<IEntityService>());
Builder.Services.AddUnique<UmbracoFeatures>();
}
// TODO Reintroduce when moved to .NET Core
// [Test]
// public async System.Threading.Tasks.Task GetCurrentUser_Fips()
// {
// ApiController CtrlFactory(HttpRequestMessage message, IUmbracoContextAccessor umbracoContextAccessor)
// {
// //setup some mocks
// var userServiceMock = Mock.Get(ServiceContext.UserService);
// userServiceMock.Setup(service => service.GetUserById(It.IsAny<int>()))
// .Returns(() => null);
//
// if (Thread.GetDomain().GetData(".appPath") != null)
// {
// HttpContext.Current = new HttpContext(new SimpleWorkerRequest("", "", new StringWriter()));
// }
// else
// {
// var baseDir = IOHelper.MapPath("").TrimEnd(Path.DirectorySeparatorChar);
// HttpContext.Current = new HttpContext(new SimpleWorkerRequest("/", baseDir, "", "", new StringWriter()));
// }
//
// var usersController = new AuthenticationController(
// new TestUserPasswordConfig(),
// Factory.GetInstance<IGlobalSettings>(),
// Factory.GetInstance<IHostingEnvironment>(),
// umbracoContextAccessor,
// Factory.GetInstance<ISqlContext>(),
// Factory.GetInstance<ServiceContext>(),
// Factory.GetInstance<AppCaches>(),
// Factory.GetInstance<IProfilingLogger>(),
// Factory.GetInstance<IRuntimeState>(),
// Factory.GetInstance<UmbracoMapper>(),
// Factory.GetInstance<ISecuritySettings>(),
// Factory.GetInstance<IPublishedUrlProvider>(),
// Factory.GetInstance<IRequestAccessor>(),
// Factory.GetInstance<IEmailSender>()
// );
// return usersController;
// }
//
// Mock.Get(Current.SqlContext)
// .Setup(x => x.Query<IUser>())
// .Returns(new Query<IUser>(Current.SqlContext));
//
// var syntax = new SqlCeSyntaxProvider();
//
// Mock.Get(Current.SqlContext)
// .Setup(x => x.SqlSyntax)
// .Returns(syntax);
//
// var mappers = new MapperCollection(new[]
// {
// new UserMapper(new Lazy<ISqlContext>(() => Current.SqlContext), new ConcurrentDictionary<Type, ConcurrentDictionary<string, string>>())
// });
//
// Mock.Get(Current.SqlContext)
// .Setup(x => x.Mappers)
// .Returns(mappers);
//
// // Testing what happens if the system were configured to only use FIPS-compliant algorithms
// var typ = typeof(CryptoConfig);
// var flds = typ.GetFields(BindingFlags.Static | BindingFlags.NonPublic);
// var haveFld = flds.FirstOrDefault(f => f.Name == "s_haveFipsAlgorithmPolicy");
// var isFld = flds.FirstOrDefault(f => f.Name == "s_fipsAlgorithmPolicy");
// var originalFipsValue = CryptoConfig.AllowOnlyFipsAlgorithms;
//
// try
// {
// if (!originalFipsValue)
// {
// haveFld.SetValue(null, true);
// isFld.SetValue(null, true);
// }
//
// var runner = new TestRunner(CtrlFactory);
// var response = await runner.Execute("Authentication", "GetCurrentUser", HttpMethod.Get);
//
// var obj = JsonConvert.DeserializeObject<UserDetail>(response.Item2);
// Assert.AreEqual(-1, obj.UserId);
// }
// finally
// {
// if (!originalFipsValue)
// {
// haveFld.SetValue(null, false);
// isFld.SetValue(null, false);
// }
// }
// }
}
}
@@ -1,6 +0,0 @@
<?xml version="1.0"?>
<log4net>
<root>
<priority value="OFF"/>
</root>
</log4net>
@@ -1,20 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<!-- Global Log Level event -->
<add key="serilog:minimum-level" value="Warning" />
<!-- Write to console -->
<add key="serilog:using:Console" value="Serilog.Sinks.Console" />
<add key="serilog:write-to:Console.theme" value="Serilog.Sinks.SystemConsole.Themes.AnsiConsoleTheme::Code, Serilog.Sinks.Console" />
<add key="serilog:write-to:Console.outputTemplate" value="[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj} &lt;s:{SourceContext}&gt;{NewLine}{Exception}" />
<!-- Namespace log levels -->
<add key="serilog:minimum-level:override:Umbraco.Core.Publishing.PublishingStrategy" value="Warning" />
<add key="serilog:minimum-level:override:Umbraco.Core.TypeLoader" value="Warning" />
<add key="serilog:minimum-level:override:Umbraco.Core.Persistence.UmbracoDatabase" value="Debug" />
<add key="serilog:minimum-level:override:Umbraco.Core.Persistence.Migrations.Initial.DatabaseSchemaCreation" value="Warning" />
<add key="serilog:minimum-level:override:Umbraco.Core.Persistence.Migrations.Initial.BaseDataCreation" value="Warning" />
</appSettings>
</configuration>
+13
View File
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<clear />
<add key="nuget" value="https://api.nuget.org/v3/index.json" />
</packageSources>
<packageSourceMapping>
<!-- Ensure all packages are pulled from NuGet -->
<packageSource key="nuget">
<package pattern="*" />
</packageSource>
</packageSourceMapping>
</configuration>
-53
View File
@@ -1,53 +0,0 @@
name: issue-first-response
on:
issues:
types: [opened]
jobs:
send-response:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- name: Install dependencies
run: |
npm install node-fetch@2
- name: Fetch random comment 🗣️ and add it to the issue
uses: actions/github-script@v6
with:
script: |
const fetch = require('node-fetch')
const response = await fetch('https://collaboratorsv2.euwest01.umbraco.io/umbraco/api/comments/PostComment', {
method: 'post',
body: JSON.stringify({
repo: '${{ github.repository }}',
number: '${{ github.event.number }}',
actor: '${{ github.actor }}',
commentType: 'opened-issue-first-comment'
}),
headers: {
'Authorization': 'Bearer ${{ secrets.OUR_BOT_API_TOKEN }}',
'Content-Type': 'application/json'
}
});
try {
const data = await response.text();
if(response.status === 200 && data !== '') {
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: data
});
} else {
console.log("Status code did not indicate success:", response.status);
console.log("Returned data:", data);
}
} catch(error) {
console.log(error);
}
-70
View File
@@ -1,70 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
<NoWarn>NU1507</NoWarn>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="Dazinator.Extensions.FileProviders" Version="2.0.0" />
<PackageVersion Include="Examine" Version="3.0.1"/>
<PackageVersion Include="Examine.Core" Version="3.0.1"/>
<PackageVersion Include="HtmlAgilityPack" Version="1.11.54"/>
<PackageVersion Include="IPNetwork2" Version="2.6.618"/>
<PackageVersion Include="K4os.Compression.LZ4" Version="1.3.6"/>
<PackageVersion Include="MailKit" Version="3.2.0"/>
<PackageVersion Include="Markdown" Version="2.2.1"/>
<PackageVersion Include="MessagePack" Version="2.5.129"/>
<PackageVersion Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="6.0.24" />
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="6.0.24" />
<PackageVersion Include="Microsoft.Data.Sqlite" Version="6.0.24"/>
<PackageVersion Include="Microsoft.CSharp" Version="4.7.0"/>
<PackageVersion Include="Microsoft.Extensions.FileProviders.Embedded" Version="6.0.24"/>
<PackageVersion Include="Microsoft.Extensions.FileProviders.Physical" Version="6.0.0"/>
<PackageVersion Include="Microsoft.Extensions.Hosting.Abstractions" Version="6.0.0"/>
<PackageVersion Include="Microsoft.Extensions.Identity.Core" Version="6.0.24"/>
<PackageVersion Include="Microsoft.Extensions.Logging" Version="6.0.0"/>
<PackageVersion Include="Microsoft.Extensions.Options" Version="6.0.0"/>
<PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="6.0.0"/>
<PackageVersion Include="Microsoft.Extensions.Options.DataAnnotations" Version="6.0.0"/>
<PackageVersion Include="Microsoft.Extensions.Configuration.Abstractions" Version="6.0.0"/>
<PackageVersion Include="Microsoft.Extensions.Configuration.Json" Version="6.0.0"/>
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="6.0.1"/>
<PackageVersion Include="Microsoft.Extensions.Http" Version="6.0.0"/>
<PackageVersion Include="Microsoft.Extensions.Identity.Stores" Version="6.0.24"/>
<PackageVersion Include="MiniProfiler.AspNetCore.Mvc" Version="4.2.22" />
<PackageVersion Include="MiniProfiler.Shared" Version="4.2.22"/>
<PackageVersion Include="ncrontab" Version="3.3.3"/>
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3"/>
<PackageVersion Include="NPoco.SqlServer" Version="5.3.2"/>
<PackageVersion Include="Serilog" Version="2.12.0"/>
<PackageVersion Include="Serilog.AspNetCore" Version="5.0.0" />
<PackageVersion Include="Serilog.Enrichers.Process" Version="2.0.2"/>
<PackageVersion Include="Serilog.Enrichers.Thread" Version="3.1.0"/>
<PackageVersion Include="Serilog.Expressions" Version="3.4.1"/>
<PackageVersion Include="Serilog.Extensions.Hosting" Version="4.2.0"/>
<PackageVersion Include="Serilog.Formatting.Compact" Version="1.1.0"/>
<PackageVersion Include="Serilog.Formatting.Compact.Reader" Version="1.0.5"/>
<PackageVersion Include="Serilog.Settings.Configuration" Version="3.4.0"/>
<PackageVersion Include="Serilog.Sinks.Async" Version="1.5.0"/>
<PackageVersion Include="Serilog.Sinks.File" Version="5.0.0"/>
<PackageVersion Include="Serilog.Sinks.Map" Version="1.0.2"/>
<PackageVersion Include="SixLabors.ImageSharp" Version="2.1.6"/>
<PackageVersion Include="SixLabors.ImageSharp.Web" Version="2.0.2" />
<PackageVersion Include="Smidge.InMemory" Version="4.3.0" />
<PackageVersion Include="Smidge.Nuglify" Version="4.2.1" />
<PackageVersion Include="System.IO.FileSystem.AccessControl" Version="5.0.0"/>
<PackageVersion Include="System.Security.Cryptography.Pkcs" Version="6.0.4"/>
<PackageVersion Include="System.Threading.Tasks.Dataflow" Version="6.0.0"/>
<PackageVersion Include="System.ComponentModel.Annotations" Version="5.0.0"/>
<PackageVersion Include="System.Reflection.Emit.Lightweight" Version="4.7.0"/>
<PackageVersion Include="System.Runtime.Caching" Version="6.0.0"/>
<PackageVersion Include="Umbraco.CSharpTest.Net.Collections" Version="14.906.1403.1085"/>
<!-- Add dependencies that we force an update to, even that we do not use them explicitly and they seems to be taken from the framework instead of from Nuget -->
<PackageVersion Include="System.Net.Http" Version="4.3.4"/>
<PackageVersion Include="System.Security.Cryptography.Xml" Version="6.0.1"/>
<PackageVersion Include="System.Text.RegularExpressions" Version="4.3.1"/>
</ItemGroup>
</Project>
-152
View File
@@ -1,152 +0,0 @@
// Copyright (c) Umbraco.
// See LICENSE for more details.
using Umbraco.Cms.Core.Configuration;
using Umbraco.Cms.Core.Configuration.Models;
using Umbraco.Deploy.Core.Configuration.DebugConfiguration;
using Umbraco.Deploy.Core.Configuration.DeployConfiguration;
using Umbraco.Deploy.Core.Configuration.DeployProjectConfiguration;
using Umbraco.Forms.Core.Configuration;
using SecuritySettings = Umbraco.Cms.Core.Configuration.Models.SecuritySettings;
namespace JsonSchema
{
internal class AppSettings
{
/// <summary>
/// Gets or sets the Umbraco
/// </summary>
public UmbracoDefinition? Umbraco { get; set; }
/// <summary>
/// Configuration of Umbraco CMS and packages
/// </summary>
internal class UmbracoDefinition
{
// ReSharper disable once InconsistentNaming
public CmsDefinition? CMS { get; set; }
public FormsDefinition? Forms { get; set; }
public DeployDefinition? Deploy { get; set; }
/// <summary>
/// Configurations for the Umbraco CMS
/// </summary>
public class CmsDefinition
{
public ContentSettings? Content { get; set; }
public CoreDebugSettings? Debug { get; set; }
public ExceptionFilterSettings? ExceptionFilter { get; set; }
public ModelsBuilderSettings? ModelsBuilder { get; set; }
public GlobalSettings? Global { get; set; }
public HealthChecksSettings? HealthChecks { get; set; }
public HostingSettings? Hosting { get; set; }
public ImagingSettings? Imaging { get; set; }
public IndexCreatorSettings? Examine { get; set; }
public IndexingSettings? Indexing { get; set; }
public KeepAliveSettings? KeepAlive { get; set; }
public LoggingSettings? Logging { get; set; }
public NuCacheSettings? NuCache { get; set; }
public RequestHandlerSettings? RequestHandler { get; set; }
public RuntimeSettings? Runtime { get; set; }
public SecuritySettings? Security { get; set; }
public TourSettings? Tours { get; set; }
public TypeFinderSettings? TypeFinder { get; set; }
public WebRoutingSettings? WebRouting { get; set; }
public UmbracoPluginSettings? Plugins { get; set; }
public UnattendedSettings? Unattended { get; set; }
public RichTextEditorSettings? RichTextEditor { get; set; }
public RuntimeMinificationSettings? RuntimeMinification { get; set; }
public BasicAuthSettings? BasicAuth { get; set; }
public PackageMigrationSettings? PackageMigration { get; set; }
public LegacyPasswordMigrationSettings? LegacyPasswordMigration { get; set; }
public ContentDashboardSettings? ContentDashboard { get; set; }
public HelpPageSettings? HelpPage { get; set; }
public InstallDefaultData? InstallDefaultData { get; set; }
public DataTypesSettings? DataTypes { get; set; }
public MarketplaceSettings? Marketplace { get; set; }
}
/// <summary>
/// Configurations for the Umbraco CMS InstallDefaultData configuration.
/// </summary>
public class InstallDefaultData
{
public InstallDefaultDataSettings? Languages { get; set; }
public InstallDefaultDataSettings? DataTypes { get; set; }
public InstallDefaultDataSettings? MediaTypes { get; set; }
public InstallDefaultDataSettings? MemberTypes { get; set; }
}
/// <summary>
/// Configurations for the Umbraco Forms package to Umbraco CMS
/// </summary>
public class FormsDefinition
{
public FormDesignSettings? FormDesign { get; set; }
public PackageOptionSettings? Options { get; set; }
public Umbraco.Forms.Core.Configuration.SecuritySettings? Security { get; set; }
public FieldTypesDefinition? FieldTypes { get; set; }
/// <summary>
/// Configurations for the Umbraco Forms Field Types
/// </summary>
public class FieldTypesDefinition
{
public DatePickerSettings? DatePicker { get; set; }
public Recaptcha2Settings? Recaptcha2 { get; set; }
public Recaptcha3Settings? Recaptcha3 { get; set; }
}
}
/// <summary>
/// Configurations for the Umbraco Deploy package to Umbraco CMS
/// </summary>
public class DeployDefinition
{
public DeploySettings? Settings { get; set; }
public DeployProjectConfig? Project { get; set; }
public DebugSettings? Debug { get; set; }
}
}
}
}
-19
View File
@@ -1,19 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<IsPackable>false</IsPackable>
<EnablePackageValidation>false</EnablePackageValidation>
<ManagePackageVersionsCentrally>false</ManagePackageVersionsCentrally>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="CommandLineParser" Version="2.9.1" />
<PackageReference Include="NJsonSchema" Version="10.9.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Umbraco.Core\Umbraco.Core.csproj" />
<PackageReference Include="Umbraco.Deploy.Core" Version="10.2.4" />
<PackageReference Include="Umbraco.Forms.Core" Version="10.5.1" />
</ItemGroup>
</Project>
@@ -1,13 +0,0 @@
// Copyright (c) Umbraco.
// See LICENSE for more details.
using System;
using NJsonSchema.Generation;
namespace JsonSchema
{
internal class NamespacePrefixedSchemaNameGenerator : DefaultSchemaNameGenerator
{
public override string Generate(Type type) => type.Namespace?.Replace(".", string.Empty) + base.Generate(type);
}
}
-13
View File
@@ -1,13 +0,0 @@
// Copyright (c) Umbraco.
// See LICENSE for more details.
using CommandLine;
namespace JsonSchema
{
internal class Options
{
[Option('o', "outputFile", Required = false, HelpText = "Set path of the output file.", Default = "appsettings-schema.json")]
public string OutputFile { get; set; } = null!;
}
}
-41
View File
@@ -1,41 +0,0 @@
// Copyright (c) Umbraco.
// See LICENSE for more details.
using System;
using System.IO;
using System.Threading.Tasks;
using CommandLine;
namespace JsonSchema
{
internal class Program
{
public static async Task Main(string[] args)
{
try
{
await Parser.Default.ParseArguments<Options>(args)
.WithParsedAsync(Execute);
}
catch (Exception e)
{
Console.WriteLine(e);
throw;
}
}
private static async Task Execute(Options options)
{
var generator = new UmbracoJsonSchemaGenerator();
var schema = await generator.Generate();
var path = Path.GetFullPath(Path.Combine(Environment.CurrentDirectory, options.OutputFile));
Console.WriteLine("Path to use {0}", path);
Directory.CreateDirectory(Path.GetDirectoryName(path)!);
Console.WriteLine("Ensured directory exists");
await File.WriteAllTextAsync(path, schema);
Console.WriteLine("File written at {0}", path);
}
}
}
@@ -1,58 +0,0 @@
// Copyright (c) Umbraco.
// See LICENSE for more details.
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using NJsonSchema.Generation;
using Umbraco.Cms.Core.Configuration.Models;
namespace JsonSchema
{
/// <summary>
/// Generator of the JsonSchema for AppSettings.json including A specific Umbraco version.
/// </summary>
public class UmbracoJsonSchemaGenerator
{
private static readonly HttpClient s_client = new ();
private readonly JsonSchemaGenerator _innerGenerator;
/// <summary>
/// Initializes a new instance of the <see cref="UmbracoJsonSchemaGenerator" /> class.
/// </summary>
public UmbracoJsonSchemaGenerator()
=> _innerGenerator = new JsonSchemaGenerator(new UmbracoJsonSchemaGeneratorSettings());
/// <summary>
/// Generates a json representing the JsonSchema for AppSettings.json including A specific Umbraco version..
/// </summary>
public async Task<string> Generate()
{
JObject umbracoSchema = GenerateUmbracoSchema();
JObject officialSchema = await GetOfficialAppSettingsSchema();
officialSchema.Merge(umbracoSchema);
return officialSchema.ToString();
}
private async Task<JObject> GetOfficialAppSettingsSchema()
{
HttpResponseMessage response = await s_client.GetAsync("https://json.schemastore.org/appsettings.json")
.ConfigureAwait(false);
var result = await response.Content.ReadAsStringAsync();
return JsonConvert.DeserializeObject<JObject>(result)!;
}
private JObject GenerateUmbracoSchema()
{
NJsonSchema.JsonSchema schema = _innerGenerator.Generate(typeof(AppSettings));
// TODO: when the "UmbracoPath" setter is removed from "GlobalSettings" (scheduled for V12), remove this line as well
schema.Definitions["UmbracoCmsCoreConfigurationModelsGlobalSettings"]?.Properties?.Remove(nameof(GlobalSettings.UmbracoPath));
return JsonConvert.DeserializeObject<JObject>(schema.ToJson())!;
}
}
}
@@ -1,43 +0,0 @@
// Copyright (c) Umbraco.
// See LICENSE for more details.
using System;
using System.Collections.Generic;
using System.Linq;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Serialization;
using NJsonSchema.Generation;
namespace JsonSchema
{
/// <inheritdoc />
public class UmbracoJsonSchemaGeneratorSettings : JsonSchemaGeneratorSettings
{
/// <summary>
/// Initializes a new instance of the <see cref="UmbracoJsonSchemaGeneratorSettings"/> class.
/// </summary>
public UmbracoJsonSchemaGeneratorSettings()
{
AlwaysAllowAdditionalObjectProperties = true;
SerializerSettings = new JsonSerializerSettings()
{
ContractResolver = new WritablePropertiesOnlyResolver()
};
DefaultReferenceTypeNullHandling = ReferenceTypeNullHandling.NotNull;
SchemaNameGenerator = new NamespacePrefixedSchemaNameGenerator();
SerializerSettings.Converters.Add(new StringEnumConverter());
IgnoreObsoleteProperties = true;
GenerateExamples = true;
}
private class WritablePropertiesOnlyResolver : DefaultContractResolver
{
protected override IList<JsonProperty> CreateProperties(Type type, MemberSerialization memberSerialization)
{
IList<JsonProperty> props = base.CreateProperties(type, memberSerialization);
return props.Where(p => p.Writable).ToList();
}
}
}
}
@@ -0,0 +1,9 @@
namespace Umbraco.Cms.Api.Common.Attributes;
[AttributeUsage(AttributeTargets.Class, AllowMultiple = false)]
public class MapToApiAttribute : Attribute
{
public MapToApiAttribute(string apiName) => ApiName = apiName;
public string ApiName { get; }
}
@@ -0,0 +1,74 @@
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Umbraco.Extensions;
namespace Umbraco.Cms.Api.Common.Builders;
public class ProblemDetailsBuilder
{
private string? _title;
private string? _detail;
private string? _type;
private string? _operationStatus;
private IDictionary<string, object>? _extensions;
public ProblemDetailsBuilder WithTitle(string title)
{
_title = title;
return this;
}
public ProblemDetailsBuilder WithDetail(string detail)
{
_detail = detail;
return this;
}
public ProblemDetailsBuilder WithType(string type)
{
_type = type;
return this;
}
public ProblemDetailsBuilder WithOperationStatus<TEnum>(TEnum operationStatus)
where TEnum : Enum
{
_operationStatus = operationStatus.ToString();
return this;
}
public ProblemDetailsBuilder WithRequestModelErrors(IDictionary<string, string[]> errors)
=> WithExtension(nameof(HttpValidationProblemDetails.Errors).ToFirstLowerInvariant(), errors);
public ProblemDetailsBuilder WithExtension(string key, object value)
{
_extensions ??= new Dictionary<string, object>();
_extensions[key] = value;
return this;
}
public ProblemDetails Build()
{
var problemDetails = new ProblemDetails
{
Title = _title,
Detail = _detail,
Type = _type ?? "Error",
};
if (_operationStatus is not null)
{
problemDetails.Extensions["operationStatus"] = _operationStatus;
}
if (_extensions is not null)
{
foreach (KeyValuePair<string, object> extension in _extensions)
{
problemDetails.Extensions[extension.Key] = extension.Value;
}
}
return problemDetails;
}
}
@@ -0,0 +1,12 @@
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
namespace Umbraco.Cms.Api.Common.Configuration;
public class ConfigureApiBehaviorOptions : IConfigureOptions<ApiBehaviorOptions>
{
public void Configure(ApiBehaviorOptions options) =>
// disable ProblemDetails as default result type for every non-success response (i.e. 404)
// - see https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.mvc.apibehavioroptions.suppressmapclienterrors
options.SuppressMapClientErrors = true;
}
@@ -0,0 +1,31 @@
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using Umbraco.Cms.Api.Common.Json;
namespace Umbraco.Cms.Api.Common.Configuration;
public class ConfigureMvcJsonOptions : IConfigureOptions<MvcOptions>
{
private readonly string _jsonOptionsName;
private readonly IOptionsMonitor<JsonOptions> _jsonOptions;
private readonly ILoggerFactory _loggerFactory;
public ConfigureMvcJsonOptions(
string jsonOptionsName,
IOptionsMonitor<JsonOptions> jsonOptions,
ILoggerFactory loggerFactory)
{
_jsonOptionsName = jsonOptionsName;
_jsonOptions = jsonOptions;
_loggerFactory = loggerFactory;
}
public void Configure(MvcOptions options)
{
JsonOptions jsonOptions = _jsonOptions.Get(_jsonOptionsName);
ILogger<NamedSystemTextJsonInputFormatter> logger = _loggerFactory.CreateLogger<NamedSystemTextJsonInputFormatter>();
options.InputFormatters.Insert(0, new NamedSystemTextJsonInputFormatter(_jsonOptionsName, jsonOptions, logger));
options.OutputFormatters.Insert(0, new NamedSystemTextJsonOutputFormatter(_jsonOptionsName, jsonOptions.JsonSerializerOptions));
}
}
@@ -0,0 +1,15 @@
using Microsoft.Extensions.Options;
using OpenIddict.Server.AspNetCore;
using Umbraco.Cms.Core.Configuration.Models;
namespace Umbraco.Cms.Api.Common.Configuration;
internal class ConfigureOpenIddict : IConfigureOptions<OpenIddictServerAspNetCoreOptions>
{
private readonly IOptions<GlobalSettings> _globalSettings;
public ConfigureOpenIddict(IOptions<GlobalSettings> globalSettings) => _globalSettings = globalSettings;
public void Configure(OpenIddictServerAspNetCoreOptions options)
=> options.DisableTransportSecurityRequirement = _globalSettings.Value.UseHttps is false;
}
@@ -0,0 +1,71 @@
using Asp.Versioning;
using Microsoft.AspNetCore.Mvc.ApiExplorer;
using Microsoft.AspNetCore.Mvc.Controllers;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
using Microsoft.OpenApi.Models;
using Swashbuckle.AspNetCore.SwaggerGen;
using Umbraco.Cms.Api.Common.OpenApi;
using Umbraco.Extensions;
namespace Umbraco.Cms.Api.Common.Configuration;
public class ConfigureUmbracoSwaggerGenOptions : IConfigureOptions<SwaggerGenOptions>
{
private readonly IOperationIdSelector _operationIdSelector;
private readonly ISchemaIdSelector _schemaIdSelector;
[Obsolete("Use non-obsolete constructor. This will be removed in Umbraco 15.")]
public ConfigureUmbracoSwaggerGenOptions(
IOptions<ApiVersioningOptions> apiVersioningOptions,
IOperationIdSelector operationIdSelector,
ISchemaIdSelector schemaIdSelector)
: this(operationIdSelector, schemaIdSelector)
{
}
public ConfigureUmbracoSwaggerGenOptions(
IOperationIdSelector operationIdSelector,
ISchemaIdSelector schemaIdSelector)
{
_operationIdSelector = operationIdSelector;
_schemaIdSelector = schemaIdSelector;
}
public void Configure(SwaggerGenOptions swaggerGenOptions)
{
swaggerGenOptions.SwaggerDoc(
DefaultApiConfiguration.ApiName,
new OpenApiInfo
{
Title = "Default API",
Version = "Latest",
Description = "All endpoints not defined under specific APIs",
});
swaggerGenOptions.CustomOperationIds(description => _operationIdSelector.OperationId(description));
swaggerGenOptions.DocInclusionPredicate((name, api) =>
{
if (string.IsNullOrWhiteSpace(api.GroupName))
{
return false;
}
if (api.ActionDescriptor is ControllerActionDescriptor controllerActionDescriptor)
{
return controllerActionDescriptor.MethodInfo.HasMapToApiAttribute(name);
}
return false;
});
swaggerGenOptions.TagActionsBy(api => new[] { api.GroupName });
swaggerGenOptions.OrderActionsBy(ActionOrderBy);
swaggerGenOptions.SchemaFilter<EnumSchemaFilter>();
swaggerGenOptions.CustomSchemaIds(_schemaIdSelector.SchemaId);
swaggerGenOptions.SupportNonNullableReferenceTypes();
}
// see https://github.com/domaindrivendev/Swashbuckle.AspNetCore#change-operation-sort-order-eg-for-ui-sorting
private static string ActionOrderBy(ApiDescription apiDesc)
=> $"{apiDesc.GroupName}_{apiDesc.ActionDescriptor.AttributeRouteInfo?.Template ?? apiDesc.ActionDescriptor.RouteValues["controller"]}_{apiDesc.ActionDescriptor.RouteValues["action"]}_{apiDesc.HttpMethod}";
}
@@ -0,0 +1,6 @@
namespace Umbraco.Cms.Api.Common.Configuration;
internal static class DefaultApiConfiguration
{
public const string ApiName = "default";
}
@@ -0,0 +1,22 @@
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using Umbraco.Cms.Api.Common.Configuration;
namespace Umbraco.Cms.Api.Common.DependencyInjection;
public static class MvcBuilderExtensions
{
public static IMvcBuilder AddJsonOptions(this IMvcBuilder builder, string settingsName, Action<JsonOptions> configure)
{
builder.Services.Configure(settingsName, configure);
builder.Services.AddSingleton<IConfigureOptions<MvcOptions>>(provider =>
{
IOptionsMonitor<JsonOptions> options = provider.GetRequiredService<IOptionsMonitor<JsonOptions>>();
ILoggerFactory loggerFactory = provider.GetRequiredService<ILoggerFactory>();
return new ConfigureMvcJsonOptions(settingsName, options, loggerFactory);
});
return builder;
}
}
@@ -0,0 +1,53 @@
using Microsoft.AspNetCore.Http;
using OpenIddict.Server;
using OpenIddict.Validation;
using Umbraco.Cms.Core;
using Umbraco.Extensions;
namespace Umbraco.Cms.Api.Common.DependencyInjection;
public class ProcessRequestContextHandler
: IOpenIddictServerHandler<OpenIddictServerEvents.ProcessRequestContext>, IOpenIddictValidationHandler<OpenIddictValidationEvents.ProcessRequestContext>
{
private readonly IHttpContextAccessor _httpContextAccessor;
private readonly string _backOfficePathSegment;
public ProcessRequestContextHandler(IHttpContextAccessor httpContextAccessor)
{
_httpContextAccessor = httpContextAccessor;
_backOfficePathSegment = Constants.System.DefaultUmbracoPath.TrimStart(Constants.CharArrays.Tilde)
.EnsureStartsWith('/')
.EnsureEndsWith('/');
}
public ValueTask HandleAsync(OpenIddictServerEvents.ProcessRequestContext context)
{
if (SkipOpenIddictHandlingForRequest())
{
context.SkipRequest();
}
return ValueTask.CompletedTask;
}
public ValueTask HandleAsync(OpenIddictValidationEvents.ProcessRequestContext context)
{
if (SkipOpenIddictHandlingForRequest())
{
context.SkipRequest();
}
return ValueTask.CompletedTask;
}
private bool SkipOpenIddictHandlingForRequest()
{
var requestPath = _httpContextAccessor.HttpContext?.Request.Path.Value;
if (requestPath.IsNullOrWhiteSpace())
{
return false;
}
return requestPath.StartsWith(_backOfficePathSegment) is false;
}
}
@@ -0,0 +1,30 @@
using Microsoft.Extensions.DependencyInjection;
using Umbraco.Cms.Api.Common.Configuration;
using Umbraco.Cms.Api.Common.OpenApi;
using Umbraco.Cms.Api.Common.Serialization;
using Umbraco.Cms.Core.DependencyInjection;
using Umbraco.Cms.Web.Common.ApplicationBuilder;
namespace Umbraco.Cms.Api.Common.DependencyInjection;
public static class UmbracoBuilderApiExtensions
{
public static IUmbracoBuilder AddUmbracoApiOpenApiUI(this IUmbracoBuilder builder)
{
if (builder.Services.Any(x => !x.IsKeyedService && x.ImplementationType == typeof(OperationIdSelector)))
{
return builder;
}
builder.Services.AddSwaggerGen();
builder.Services.ConfigureOptions<ConfigureUmbracoSwaggerGenOptions>();
builder.Services.AddSingleton<IUmbracoJsonTypeInfoResolver, UmbracoJsonTypeInfoResolver>();
builder.Services.AddSingleton<IOperationIdSelector, OperationIdSelector>();
builder.Services.AddSingleton<IOperationIdHandler, OperationIdHandler>();
builder.Services.AddSingleton<ISchemaIdSelector, SchemaIdSelector>();
builder.Services.AddSingleton<ISchemaIdHandler, SchemaIdHandler>();
builder.Services.Configure<UmbracoPipelineOptions>(options => options.AddFilter(new SwaggerRouteTemplatePipelineFilter("UmbracoApiCommon")));
return builder;
}
}
@@ -0,0 +1,138 @@
using System.Security.Cryptography;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.IdentityModel.Tokens;
using OpenIddict.Server;
using OpenIddict.Validation;
using Umbraco.Cms.Api.Common.Configuration;
using Umbraco.Cms.Api.Common.Security;
using Umbraco.Cms.Core;
using Umbraco.Cms.Core.Configuration.Models;
using Umbraco.Cms.Core.DependencyInjection;
using Umbraco.Cms.Infrastructure.BackgroundJobs.Jobs;
using Umbraco.Extensions;
namespace Umbraco.Cms.Api.Common.DependencyInjection;
public static class UmbracoBuilderAuthExtensions
{
public static IUmbracoBuilder AddUmbracoOpenIddict(this IUmbracoBuilder builder)
{
if (builder.Services.Any(x => !x.IsKeyedService && x.ImplementationType == typeof(OpenIddictCleanupJob)) is false)
{
ConfigureOpenIddict(builder);
}
return builder;
}
private static void ConfigureOpenIddict(IUmbracoBuilder builder)
{
builder.Services.AddOpenIddict()
// Register the OpenIddict server components.
.AddServer(options =>
{
// Enable the authorization and token endpoints.
// - important: member endpoints MUST be added before backoffice endpoints to ensure that auto-discovery works for members
options
.SetAuthorizationEndpointUris(
Paths.MemberApi.AuthorizationEndpoint.TrimStart(Constants.CharArrays.ForwardSlash),
Paths.BackOfficeApi.AuthorizationEndpoint.TrimStart(Constants.CharArrays.ForwardSlash))
.SetTokenEndpointUris(
Paths.MemberApi.TokenEndpoint.TrimStart(Constants.CharArrays.ForwardSlash),
Paths.BackOfficeApi.TokenEndpoint.TrimStart(Constants.CharArrays.ForwardSlash))
.SetLogoutEndpointUris(
Paths.MemberApi.LogoutEndpoint.TrimStart(Constants.CharArrays.ForwardSlash),
Paths.BackOfficeApi.LogoutEndpoint.TrimStart(Constants.CharArrays.ForwardSlash))
.SetRevocationEndpointUris(
Paths.MemberApi.RevokeEndpoint.TrimStart(Constants.CharArrays.ForwardSlash),
Paths.BackOfficeApi.RevokeEndpoint.TrimStart(Constants.CharArrays.ForwardSlash));
// Enable authorization code flow with PKCE
options
.AllowAuthorizationCodeFlow()
.RequireProofKeyForCodeExchange()
.AllowRefreshTokenFlow();
// Register the ASP.NET Core host and configure for custom authentication endpoint.
options
.UseAspNetCore()
.EnableAuthorizationEndpointPassthrough()
.EnableLogoutEndpointPassthrough();
// Enable reference tokens
// - see https://documentation.openiddict.com/configuration/token-storage.html
options
.UseReferenceAccessTokens()
.UseReferenceRefreshTokens();
// Apply sliding window expiry based on the configured max login lifetime
GlobalSettings globalSettings = builder.Config
.GetSection(Constants.Configuration.ConfigGlobal)
.Get<GlobalSettings>() ?? new GlobalSettings();
TimeSpan timeOut = globalSettings.TimeOut;
// Make the access token lifetime 25% of the refresh token lifetime, to help ensure that new access tokens
// are obtained by the client before the refresh token expires.
options.SetAccessTokenLifetime(new TimeSpan(timeOut.Ticks / 4));
options.SetRefreshTokenLifetime(timeOut);
// Use ASP.NET Core Data Protection for tokens instead of JWT.
// This is more secure, and has the added benefit of having a high throughput
// but means that all servers (such as in a load balanced setup)
// needs to use the same application name and key ring,
// however this is already recommended for load balancing, so should be fine.
// See https://documentation.openiddict.com/configuration/token-formats.html#switching-to-data-protection-tokens
// and https://learn.microsoft.com/en-us/aspnet/core/security/data-protection/configuration/overview?view=aspnetcore-7.0
// for more information
options.UseDataProtection();
// Register encryption and signing credentials to protect tokens.
// Note that for tokens generated/validated using ASP.NET Core Data Protection,
// a separate key ring is used, distinct from the credentials discussed in
// https://documentation.openiddict.com/configuration/encryption-and-signing-credentials.html
// More details can be found here: https://github.com/openiddict/openiddict-core/issues/1892#issuecomment-1737308506
// "When using ASP.NET Core Data Protection to generate opaque tokens, the signing and encryption credentials
// registered via Add*Key/Certificate() are not used". But since OpenIddict requires the registration of such,
// we can generate random keys per instance without them taking effect.
// - see also https://github.com/openiddict/openiddict-core/issues/1231
options
.AddEncryptionKey(new SymmetricSecurityKey(RandomNumberGenerator.GetBytes(32))) // generate a cryptographically secure random 256-bits key
.AddSigningKey(new RsaSecurityKey(RSA.Create(keySizeInBits: 2048))); // generate RSA key with recommended size of 2048-bits
// Add custom handler for the "ProcessRequestContext" server event, to stop OpenIddict from handling
// every last request to the server (including front-end requests).
options.AddEventHandler<OpenIddictServerEvents.ProcessRequestContext>(configuration =>
{
configuration.UseSingletonHandler<ProcessRequestContextHandler>().SetOrder(OpenIddict.Server.AspNetCore.OpenIddictServerAspNetCoreHandlers.ResolveRequestUri.Descriptor.Order - 1);
});
})
// Register the OpenIddict validation components.
.AddValidation(options =>
{
// Import the configuration from the local OpenIddict server instance.
options.UseLocalServer();
// Register the ASP.NET Core host.
options.UseAspNetCore();
// Enable token entry validation
// - see https://documentation.openiddict.com/configuration/token-storage.html#enabling-token-entry-validation-at-the-api-level
options.EnableTokenEntryValidation();
// Use ASP.NET Core Data Protection for tokens instead of JWT. (see note in AddServer)
options.UseDataProtection();
// Add custom handler for the "ProcessRequestContext" validation event, to stop OpenIddict from handling
// every last request to the server (including front-end requests).
options.AddEventHandler<OpenIddictValidationEvents.ProcessRequestContext>(configuration =>
{
configuration.UseSingletonHandler<ProcessRequestContextHandler>().SetOrder(OpenIddict.Validation.AspNetCore.OpenIddictValidationAspNetCoreHandlers.ResolveRequestUri.Descriptor.Order - 1);
});
});
builder.Services.AddRecurringBackgroundJob<OpenIddictCleanupJob>();
builder.Services.ConfigureOptions<ConfigureOpenIddict>();
}
}
@@ -0,0 +1,32 @@
using System.Reflection;
using Asp.Versioning;
using Umbraco.Cms.Api.Common.Attributes;
using Umbraco.Cms.Api.Common.Configuration;
namespace Umbraco.Extensions;
public static class MethodInfoApiCommonExtensions
{
public static string? GetMapToApiVersionAttributeValue(this MethodInfo methodInfo)
{
MapToApiVersionAttribute[] mapToApis = methodInfo.GetCustomAttributes(typeof(MapToApiVersionAttribute), inherit: true).Cast<MapToApiVersionAttribute>().ToArray();
return string.Join("|", mapToApis.SelectMany(x=>x.Versions));
}
public static string? GetMapToApiAttributeValue(this MethodInfo methodInfo)
{
MapToApiAttribute[] mapToApis = (methodInfo.DeclaringType?.GetCustomAttributes(typeof(MapToApiAttribute), inherit: true) ?? Array.Empty<object>()).Cast<MapToApiAttribute>().ToArray();
return mapToApis.SingleOrDefault()?.ApiName;
}
public static bool HasMapToApiAttribute(this MethodInfo methodInfo, string apiName)
{
var value = methodInfo.GetMapToApiAttributeValue();
return value == apiName
|| (value is null && apiName == DefaultApiConfiguration.ApiName);
}
}
@@ -0,0 +1,9 @@
namespace Umbraco.Cms.Api.Common.Filters;
[AttributeUsage(AttributeTargets.Class)]
public class JsonOptionsNameAttribute : Attribute
{
public JsonOptionsNameAttribute(string jsonOptionsName) => JsonOptionsName = jsonOptionsName;
public string JsonOptionsName { get; }
}
@@ -0,0 +1,10 @@
using Microsoft.AspNetCore.Http;
using Umbraco.Cms.Api.Common.Filters;
namespace Umbraco.Cms.Api.Common.Json;
public static class HttpContextJsonExtensions
{
public static string? CurrentJsonOptionsName(this HttpContext context)
=> context.GetEndpoint()?.Metadata.GetMetadata<JsonOptionsNameAttribute>()?.JsonOptionsName;
}
@@ -0,0 +1,31 @@
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Formatters;
using Microsoft.Extensions.Logging;
namespace Umbraco.Cms.Api.Common.Json;
internal class NamedSystemTextJsonInputFormatter : SystemTextJsonInputFormatter
{
private readonly string _jsonOptionsName;
public NamedSystemTextJsonInputFormatter(string jsonOptionsName, JsonOptions options, ILogger<NamedSystemTextJsonInputFormatter> logger)
: base(options, logger) =>
_jsonOptionsName = jsonOptionsName;
public override bool CanRead(InputFormatterContext context)
=> context.HttpContext.CurrentJsonOptionsName() == _jsonOptionsName && base.CanRead(context);
public override async Task<InputFormatterResult> ReadAsync(InputFormatterContext context)
{
try
{
return await base.ReadAsync(context);
}
catch (NotSupportedException exception)
{
// This happens when trying to deserialize to an interface, without sending the $type as part of the request
context.ModelState.TryAddModelException(string.Empty, new InputFormatterException(exception.Message, exception));
return await InputFormatterResult.FailureAsync();
}
}
}
@@ -0,0 +1,18 @@
using System.Text.Json;
using Microsoft.AspNetCore.Mvc.Formatters;
namespace Umbraco.Cms.Api.Common.Json;
internal class NamedSystemTextJsonOutputFormatter : SystemTextJsonOutputFormatter
{
private readonly string _jsonOptionsName;
public NamedSystemTextJsonOutputFormatter(string jsonOptionsName, JsonSerializerOptions jsonSerializerOptions) : base(jsonSerializerOptions)
{
_jsonOptionsName = jsonOptionsName;
}
public override bool CanWriteResult(OutputFormatterCanWriteContext context)
=> context.HttpContext.CurrentJsonOptionsName() == _jsonOptionsName && base.CanWriteResult(context);
}
@@ -0,0 +1,50 @@
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Routing;
using Microsoft.Extensions.DependencyInjection;
using Umbraco.Cms.Core;
namespace Umbraco.Cms.Api.Common.Mvc.ActionResults;
/// <summary>
/// A "created at" action result with no response body.
/// </summary>
public sealed class EmptyCreatedAtActionResult : ActionResult
{
private readonly string _actionName;
private readonly string _controllerName;
private readonly object _routeValues;
private readonly string _resourceIdentifier;
public EmptyCreatedAtActionResult(string actionName, string controllerName, object routeValues, string resourceIdentifier)
{
_actionName = actionName;
_controllerName = controllerName;
_routeValues = routeValues;
_resourceIdentifier = resourceIdentifier;
}
public override void ExecuteResult(ActionContext context)
{
ArgumentNullException.ThrowIfNull(context);
HttpRequest request = context.HttpContext.Request;
IUrlHelper urlHelper = context.HttpContext.RequestServices.GetRequiredService<IUrlHelperFactory>().GetUrlHelper(context);
var url = urlHelper.Action(
_actionName,
_controllerName,
_routeValues,
request.Scheme,
request.Host.ToUriComponent());
if (string.IsNullOrEmpty(url))
{
throw new InvalidOperationException("No routes could be found that matched the provided route components");
}
context.HttpContext.Response.StatusCode = StatusCodes.Status201Created;
context.HttpContext.Response.Headers.Location = url;
context.HttpContext.Response.Headers[Constants.Headers.GeneratedResource] = _resourceIdentifier;
}
}
@@ -0,0 +1,25 @@
using System.Reflection;
using System.Runtime.Serialization;
using Microsoft.OpenApi.Any;
using Microsoft.OpenApi.Models;
using Swashbuckle.AspNetCore.SwaggerGen;
namespace Umbraco.Cms.Api.Common.OpenApi;
public class EnumSchemaFilter : ISchemaFilter
{
public void Apply(OpenApiSchema model, SchemaFilterContext context)
{
if (context.Type.IsEnum)
{
model.Type = "string";
model.Format = null;
model.Enum.Clear();
foreach (var name in Enum.GetNames(context.Type))
{
var actualName = context.Type.GetField(name)?.GetCustomAttribute<EnumMemberAttribute>()?.Value ?? name;
model.Enum.Add(new OpenApiString(actualName));
}
}
}
}
@@ -0,0 +1,11 @@
namespace Umbraco.Cms.Api.Common.OpenApi;
/// <summary>
/// Marker interface that ensure the type have a "$type" discriminator in the open api schema.
/// </summary>
/// <remarks>
/// This is required when an endpoint can receive different types, to ensure the correct type is deserialized.
/// </remarks>
public interface IOpenApiDiscriminator
{
}
@@ -0,0 +1,10 @@
using Microsoft.AspNetCore.Mvc.ApiExplorer;
namespace Umbraco.Cms.Api.Common.OpenApi;
public interface IOperationIdHandler
{
bool CanHandle(ApiDescription apiDescription);
string Handle(ApiDescription apiDescription);
}
@@ -0,0 +1,12 @@
using Asp.Versioning;
using Microsoft.AspNetCore.Mvc.ApiExplorer;
namespace Umbraco.Cms.Api.Common.OpenApi;
public interface IOperationIdSelector
{
[Obsolete("Use overload that only takes ApiDescription instead. This will be removed in Umbraco 15.")]
string? OperationId(ApiDescription apiDescription, ApiVersioningOptions apiVersioningOptions);
string? OperationId(ApiDescription apiDescription);
}
@@ -0,0 +1,8 @@
namespace Umbraco.Cms.Api.Common.OpenApi;
public interface ISchemaIdHandler
{
bool CanHandle(Type type);
string Handle(Type type);
}
@@ -0,0 +1,6 @@
namespace Umbraco.Cms.Api.Common.OpenApi;
public interface ISchemaIdSelector
{
string SchemaId(Type type);
}
@@ -0,0 +1,48 @@
using Microsoft.OpenApi.Models;
using Swashbuckle.AspNetCore.SwaggerGen;
using Umbraco.Extensions;
namespace Umbraco.Cms.Api.Common.OpenApi;
/// <summary>
/// This filter explicitly removes all other mime types than application/json from a named OpenAPI document when application/json is accepted.
/// </summary>
public class MimeTypeDocumentFilter : IDocumentFilter
{
private readonly string _documentName;
public MimeTypeDocumentFilter(string documentName) => _documentName = documentName;
public void Apply(OpenApiDocument swaggerDoc, DocumentFilterContext context)
{
if (context.DocumentName != _documentName)
{
return;
}
OpenApiOperation[] operations = swaggerDoc.Paths
.SelectMany(path => path.Value.Operations.Values)
.ToArray();
void RemoveUnwantedMimeTypes(IDictionary<string, OpenApiMediaType> content)
{
if (content.ContainsKey("application/json"))
{
content.RemoveAll(r => r.Key != "application/json");
}
}
OpenApiRequestBody[] requestBodies = operations.Select(operation => operation.RequestBody).WhereNotNull().ToArray();
foreach (OpenApiRequestBody requestBody in requestBodies)
{
RemoveUnwantedMimeTypes(requestBody.Content);
}
OpenApiResponse[] responses = operations.SelectMany(operation => operation.Responses.Values).WhereNotNull().ToArray();
foreach (OpenApiResponse response in responses)
{
RemoveUnwantedMimeTypes(response.Content);
}
}
}
@@ -0,0 +1,94 @@
using Asp.Versioning;
using Microsoft.AspNetCore.Mvc.ApiExplorer;
using Microsoft.AspNetCore.Mvc.Controllers;
using Microsoft.Extensions.Options;
using Umbraco.Extensions;
namespace Umbraco.Cms.Api.Common.OpenApi;
// NOTE: Left unsealed on purpose, so it is extendable.
public class OperationIdHandler : IOperationIdHandler
{
private readonly ApiVersioningOptions _apiVersioningOptions;
public OperationIdHandler(IOptions<ApiVersioningOptions> apiVersioningOptions)
=> _apiVersioningOptions = apiVersioningOptions.Value;
public bool CanHandle(ApiDescription apiDescription)
{
if (apiDescription.ActionDescriptor is not ControllerActionDescriptor controllerActionDescriptor)
{
return false;
}
return CanHandle(apiDescription, controllerActionDescriptor);
}
protected virtual bool CanHandle(ApiDescription apiDescription, ControllerActionDescriptor controllerActionDescriptor)
=> controllerActionDescriptor.ControllerTypeInfo.Namespace?.StartsWith("Umbraco.Cms.Api") is true;
public virtual string Handle(ApiDescription apiDescription)
=> UmbracoOperationId(apiDescription);
/// <summary>
/// Generates a unique operation identifier for a given API following Umbraco's operation id naming conventions.
/// </summary>
protected string UmbracoOperationId(ApiDescription apiDescription)
{
if (apiDescription.ActionDescriptor is not ControllerActionDescriptor controllerActionDescriptor)
{
throw new ArgumentException($"This handler operates only on {nameof(ControllerActionDescriptor)}.");
}
ApiVersion defaultVersion = _apiVersioningOptions.DefaultApiVersion;
var httpMethod = apiDescription.HttpMethod?.ToLower().ToFirstUpper() ?? "Get";
// if the route info "Name" is supplied we'll use this explicitly as the operation ID
// - usage example: [HttpGet("my-api/route}", Name = "MyCustomRoute")]
if (string.IsNullOrWhiteSpace(apiDescription.ActionDescriptor.AttributeRouteInfo?.Name) == false)
{
var explicitOperationId = apiDescription.ActionDescriptor.AttributeRouteInfo!.Name;
return explicitOperationId.InvariantStartsWith(httpMethod)
? explicitOperationId
: $"{httpMethod}{explicitOperationId}";
}
var relativePath = apiDescription.RelativePath;
if (string.IsNullOrWhiteSpace(relativePath))
{
throw new InvalidOperationException(
$"There is no relative path for controller action {apiDescription.ActionDescriptor.RouteValues["controller"]}");
}
// Remove the prefixed base path with version, e.g. /umbraco/management/api/v1/tracked-reference/{id} => tracked-reference/{id}
var unprefixedRelativePath = OperationIdRegexes
.VersionPrefixRegex()
.Replace(relativePath, string.Empty);
// Remove template placeholders, e.g. tracked-reference/{id} => tracked-reference/Id
var formattedOperationId = OperationIdRegexes
.TemplatePlaceholdersRegex()
.Replace(unprefixedRelativePath, m => $"By{m.Groups[1].Value.ToFirstUpper()}");
// Remove dashes (-) and slashes (/) and convert the following letter to uppercase with
// the word "By" in front, e.g. tracked-reference/Id => TrackedReferenceById
formattedOperationId = OperationIdRegexes
.ToCamelCaseRegex()
.Replace(formattedOperationId, m => m.Groups[1].Value.ToUpper());
// Get map to version attribute
string? version = null;
var versionAttributeValue = controllerActionDescriptor.MethodInfo.GetMapToApiVersionAttributeValue();
// We only want to add a version, if it is not the default one.
if (string.Equals(versionAttributeValue, defaultVersion.ToString()) == false)
{
version = versionAttributeValue;
}
// Return the operation ID with the formatted http method verb in front, e.g. GetTrackedReferenceById
return $"{httpMethod}{formattedOperationId.ToFirstUpper()}{version}";
}
}
@@ -0,0 +1,21 @@
using System.Text.RegularExpressions;
namespace Umbraco.Cms.Api.Common.OpenApi;
/// <summary>
/// This is the regexes used to generate the operation IDs, the benefit of this being partial with GeneratedRegex
/// source generators is that it will be pre-compiled at startup
/// See: https://devblogs.microsoft.com/dotnet/regular-expression-improvements-in-dotnet-7/#source-generation for more info.
/// </summary>
internal static partial class OperationIdRegexes
{
// Your IDE may be showing errors here, this is because it's a new dotnet 7 feature (it's fixed in the EAP of Rider)
[GeneratedRegex(".*?\\/v[1-9]+/")]
public static partial Regex VersionPrefixRegex();
[GeneratedRegex("\\{(.*?)\\:?\\}")]
public static partial Regex TemplatePlaceholdersRegex();
[GeneratedRegex("[\\/\\-](\\w{1})")]
public static partial Regex ToCamelCaseRegex();
}
@@ -0,0 +1,27 @@
using Asp.Versioning;
using Microsoft.AspNetCore.Mvc.ApiExplorer;
namespace Umbraco.Cms.Api.Common.OpenApi;
public class OperationIdSelector : IOperationIdSelector
{
private readonly IEnumerable<IOperationIdHandler> _operationIdHandlers;
[Obsolete("Use non-obsolete constructor. This will be removed in Umbraco 15.")]
public OperationIdSelector()
: this(Enumerable.Empty<IOperationIdHandler>())
{
}
public OperationIdSelector(IEnumerable<IOperationIdHandler> operationIdHandlers)
=> _operationIdHandlers = operationIdHandlers;
[Obsolete("Use overload that only takes ApiDescription instead. This will be removed in Umbraco 15.")]
public virtual string? OperationId(ApiDescription apiDescription, ApiVersioningOptions apiVersioningOptions) => OperationId(apiDescription);
public virtual string? OperationId(ApiDescription apiDescription)
{
IOperationIdHandler? handler = _operationIdHandlers.FirstOrDefault(h => h.CanHandle(apiDescription));
return handler?.Handle(apiDescription);
}
}
@@ -0,0 +1,51 @@
using System.Text.RegularExpressions;
using Umbraco.Extensions;
namespace Umbraco.Cms.Api.Common.OpenApi;
// NOTE: Left unsealed on purpose, so it is extendable.
public class SchemaIdHandler : ISchemaIdHandler
{
public virtual bool CanHandle(Type type)
=> type.Namespace?.StartsWith("Umbraco.Cms") is true;
public virtual string Handle(Type type)
=> UmbracoSchemaId(type);
/// <summary>
/// Generates a sanitized and consistent schema identifier for a given type following Umbraco's schema id naming conventions.
/// </summary>
protected string UmbracoSchemaId(Type type)
{
var name = 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
return Regex.Replace(name, @"[^\w]", string.Empty);
}
private string SanitizedTypeName(Type t) => 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");
private string HandleGenerics(string name, Type type)
{
if (!type.IsGenericType)
{
return name;
}
// use attribute custom name or append the generic type names, ultimately turning i.e. "PagedViewModel<RelationItemViewModel>" into "PagedRelationItem"
return $"{name}{string.Join(string.Empty, type.GenericTypeArguments.Select(SanitizedTypeName))}";
}
}
@@ -0,0 +1,15 @@
namespace Umbraco.Cms.Api.Common.OpenApi;
public class SchemaIdSelector : ISchemaIdSelector
{
private readonly IEnumerable<ISchemaIdHandler> _schemaIdHandlers;
public SchemaIdSelector(IEnumerable<ISchemaIdHandler> schemaIdHandlers)
=> _schemaIdHandlers = schemaIdHandlers;
public virtual string SchemaId(Type type)
{
ISchemaIdHandler? handler = _schemaIdHandlers.FirstOrDefault(h => h.CanHandle(type));
return handler?.Handle(type) ?? type.Name;
}
}
@@ -0,0 +1,80 @@
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Options;
using Microsoft.OpenApi.Models;
using Swashbuckle.AspNetCore.SwaggerGen;
using Swashbuckle.AspNetCore.SwaggerUI;
using Umbraco.Cms.Core;
using Umbraco.Cms.Core.Configuration.Models;
using Umbraco.Cms.Web.Common.ApplicationBuilder;
using Umbraco.Extensions;
using IHostingEnvironment = Umbraco.Cms.Core.Hosting.IHostingEnvironment;
namespace Umbraco.Cms.Api.Common.OpenApi;
public class SwaggerRouteTemplatePipelineFilter : UmbracoPipelineFilter
{
public SwaggerRouteTemplatePipelineFilter(string name)
: base(name)
=> PostPipeline = PostPipelineAction;
private void PostPipelineAction(IApplicationBuilder applicationBuilder)
{
if (SwaggerIsEnabled(applicationBuilder) is false)
{
return;
}
IOptions<SwaggerGenOptions> swaggerGenOptions = applicationBuilder.ApplicationServices.GetRequiredService<IOptions<SwaggerGenOptions>>();
applicationBuilder.UseSwagger(swaggerOptions =>
{
swaggerOptions.RouteTemplate = SwaggerRouteTemplate(applicationBuilder);
});
applicationBuilder.UseSwaggerUI(swaggerUiOptions => SwaggerUiConfiguration(swaggerUiOptions, swaggerGenOptions.Value, applicationBuilder));
}
protected virtual bool SwaggerIsEnabled(IApplicationBuilder applicationBuilder)
{
IWebHostEnvironment webHostEnvironment = applicationBuilder.ApplicationServices.GetRequiredService<IWebHostEnvironment>();
return webHostEnvironment.IsProduction() is false;
}
protected virtual string SwaggerRouteTemplate(IApplicationBuilder applicationBuilder)
=> $"{GetUmbracoPath(applicationBuilder).TrimStart(Constants.CharArrays.ForwardSlash)}/swagger/{{documentName}}/swagger.json";
protected virtual string SwaggerUiRoutePrefix(IApplicationBuilder applicationBuilder)
=> $"{GetUmbracoPath(applicationBuilder).TrimStart(Constants.CharArrays.ForwardSlash)}/swagger";
protected virtual void SwaggerUiConfiguration(
SwaggerUIOptions swaggerUiOptions,
SwaggerGenOptions swaggerGenOptions,
IApplicationBuilder applicationBuilder)
{
swaggerUiOptions.RoutePrefix = SwaggerUiRoutePrefix(applicationBuilder);
foreach ((var name, OpenApiInfo? apiInfo) in swaggerGenOptions.SwaggerGeneratorOptions.SwaggerDocs
.OrderBy(x => x.Value.Title))
{
swaggerUiOptions.SwaggerEndpoint($"{name}/swagger.json", $"{apiInfo.Title}");
}
// Add custom configuration from https://swagger.io/docs/open-source-tools/swagger-ui/usage/configuration/
swaggerUiOptions.ConfigObject.PersistAuthorization = true; // persists authorization data so it would not be lost on browser close/refresh
swaggerUiOptions.ConfigObject.Filter = string.Empty; // Enable the filter with an empty string as default filter.
swaggerUiOptions.OAuthClientId(Constants.OAuthClientIds.Swagger);
swaggerUiOptions.OAuthUsePkce();
}
private string GetUmbracoPath(IApplicationBuilder applicationBuilder)
{
GlobalSettings settings = applicationBuilder.ApplicationServices.GetRequiredService<IOptions<GlobalSettings>>().Value;
IHostingEnvironment hostingEnvironment = applicationBuilder.ApplicationServices.GetRequiredService<IHostingEnvironment>();
return settings.GetBackOfficePath(hostingEnvironment);
}
}
@@ -0,0 +1,37 @@
using Umbraco.Cms.Core;
namespace Umbraco.Cms.Api.Common.Security;
public static class Paths
{
public static class BackOfficeApi
{
public const string EndpointTemplate = "security/back-office";
public static readonly string AuthorizationEndpoint = EndpointPath($"{EndpointTemplate}/authorize");
public static readonly string TokenEndpoint = EndpointPath($"{EndpointTemplate}/token");
public static readonly string LogoutEndpoint = EndpointPath($"{EndpointTemplate}/signout");
public static readonly string RevokeEndpoint = EndpointPath($"{EndpointTemplate}/revoke");
private static string EndpointPath(string relativePath) => $"/umbraco{Constants.Web.ManagementApiPath}v1/{relativePath}";
}
public static class MemberApi
{
public const string EndpointTemplate = "security/member";
public static readonly string AuthorizationEndpoint = EndpointPath($"{EndpointTemplate}/authorize");
public static readonly string TokenEndpoint = EndpointPath($"{EndpointTemplate}/token");
public static readonly string LogoutEndpoint = EndpointPath($"{EndpointTemplate}/signout");
public static readonly string RevokeEndpoint = EndpointPath($"{EndpointTemplate}/revoke");
// NOTE: we're NOT using /api/v1.0/ here because it will clash with the Delivery API docs
private static string EndpointPath(string relativePath) => $"/umbraco/delivery/api/v1/{relativePath}";
}
}
@@ -0,0 +1,10 @@
using System.Text.Json.Serialization.Metadata;
namespace Umbraco.Cms.Api.Common.Serialization;
public interface IUmbracoJsonTypeInfoResolver : IJsonTypeInfoResolver
{
IEnumerable<Type> FindSubTypes(Type type);
string? GetTypeDiscriminatorValue(Type type);
}
@@ -0,0 +1,98 @@
using System.Collections.Concurrent;
using System.Text.Json;
using System.Text.Json.Serialization;
using System.Text.Json.Serialization.Metadata;
using Umbraco.Cms.Api.Common.OpenApi;
using Umbraco.Cms.Core.Composing;
using Umbraco.Extensions;
namespace Umbraco.Cms.Api.Common.Serialization;
public sealed class UmbracoJsonTypeInfoResolver : DefaultJsonTypeInfoResolver, IUmbracoJsonTypeInfoResolver
{
private readonly ITypeFinder _typeFinder;
private readonly ConcurrentDictionary<Type, ISet<Type>> _subTypesCache = new ConcurrentDictionary<Type, ISet<Type>>();
public UmbracoJsonTypeInfoResolver(ITypeFinder typeFinder)
=> _typeFinder = typeFinder;
public IEnumerable<Type> FindSubTypes(Type type)
{
JsonDerivedTypeAttribute[] explicitJsonDerivedTypes = type
.GetCustomAttributes<JsonDerivedTypeAttribute>(false)
.ToArray();
if (explicitJsonDerivedTypes.Any())
{
return explicitJsonDerivedTypes.Select(a => a.DerivedType);
}
if (type.IsInterface is false)
{
// IMPORTANT: do NOT return an empty enumerable here. it will cause nullability to fail on reference
// properties, because "$ref" does not mix and match well with "nullable" in OpenAPI.
// see also https://github.com/OAI/OpenAPI-Specification/issues/1368
return new[] { type };
}
if (_subTypesCache.TryGetValue(type, out ISet<Type>? cachedResult))
{
return cachedResult;
}
var result = _typeFinder.FindClassesOfType(type).OrderBy(x => x.Name).ToHashSet();
_subTypesCache.TryAdd(type, result);
return result;
}
public string? GetTypeDiscriminatorValue(Type type)
{
JsonDerivedTypeAttribute? jsonDerivedTypeAttribute = type
.GetBaseTypes(false)
.WhereNotNull()
.SelectMany(baseType => baseType.GetCustomAttributes<JsonDerivedTypeAttribute>(false))
.FirstOrDefault(attr => attr.DerivedType == type);
if (jsonDerivedTypeAttribute is not null)
{
// IMPORTANT: do NOT perform fallback to type.Name here - it will work for the schema generation,
// but not for the actual serialization, and then it's only going to cause confusion.
return jsonDerivedTypeAttribute.TypeDiscriminator?.ToString();
}
return typeof(IOpenApiDiscriminator).IsAssignableFrom(type) ? type.Name : null;
}
public override JsonTypeInfo GetTypeInfo(Type type, JsonSerializerOptions options)
{
JsonTypeInfo result = base.GetTypeInfo(type, options);
return type.IsInterface
? GetTypeInfoForInterface(result, type, options)
: result;
}
private JsonTypeInfo GetTypeInfoForInterface(JsonTypeInfo result, Type type, JsonSerializerOptions options)
{
IEnumerable<Type> subTypes = FindSubTypes(type);
if (!subTypes.Any())
{
return result;
}
JsonPolymorphismOptions jsonPolymorphismOptions = result.PolymorphismOptions ?? new JsonPolymorphismOptions();
IEnumerable<Type> knownSubTypes = jsonPolymorphismOptions.DerivedTypes.Select(x => x.DerivedType);
IEnumerable<Type> subTypesToAdd = subTypes.Except(knownSubTypes);
foreach (Type subType in subTypesToAdd)
{
jsonPolymorphismOptions.DerivedTypes.Add(new JsonDerivedType(
subType,
subType.Name ?? string.Empty));
}
result.PolymorphismOptions = jsonPolymorphismOptions;
return result;
}
}
@@ -0,0 +1,24 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<Title>Umbraco CMS - API Common</Title>
<Description>Contains the bits and pieces that are shared between the Umbraco CMS APIs.</Description>
</PropertyGroup>
<ItemGroup>
<FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Asp.Versioning.Mvc "/>
<PackageReference Include="Asp.Versioning.Mvc.ApiExplorer" />
<PackageReference Include="Swashbuckle.AspNetCore" />
<PackageReference Include="OpenIddict.Abstractions" />
<PackageReference Include="OpenIddict.AspNetCore" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Umbraco.Core\Umbraco.Core.csproj" />
<ProjectReference Include="..\Umbraco.Web.Common\Umbraco.Web.Common.csproj" />
</ItemGroup>
</Project>
@@ -0,0 +1,14 @@
using System.ComponentModel.DataAnnotations;
namespace Umbraco.Cms.Api.Common.ViewModels.Pagination;
public class PagedViewModel<T>
{
[Required]
public long Total { get; set; }
[Required]
public IEnumerable<T> Items { get; set; } = Enumerable.Empty<T>();
public static PagedViewModel<T> Empty() => new();
}
@@ -0,0 +1,12 @@
using Microsoft.AspNetCore.Http;
using Umbraco.Cms.Core.DeliveryApi;
namespace Umbraco.Cms.Api.Delivery.Accessors;
internal sealed class RequestContextOutputExpansionStrategyAccessor : RequestContextServiceAccessorBase<IOutputExpansionStrategy>, IOutputExpansionStrategyAccessor
{
public RequestContextOutputExpansionStrategyAccessor(IHttpContextAccessor httpContextAccessor)
: base(httpContextAccessor)
{
}
}
@@ -0,0 +1,12 @@
using Microsoft.AspNetCore.Http;
using Umbraco.Cms.Core.DeliveryApi;
namespace Umbraco.Cms.Api.Delivery.Accessors;
internal sealed class RequestContextRequestStartItemProviderAccessor : RequestContextServiceAccessorBase<IRequestStartItemProvider>, IRequestStartItemProviderAccessor
{
public RequestContextRequestStartItemProviderAccessor(IHttpContextAccessor httpContextAccessor)
: base(httpContextAccessor)
{
}
}
@@ -0,0 +1,20 @@
using System.Diagnostics.CodeAnalysis;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.DependencyInjection;
namespace Umbraco.Cms.Api.Delivery.Accessors;
public abstract class RequestContextServiceAccessorBase<T>
where T : class
{
private readonly IHttpContextAccessor _httpContextAccessor;
protected RequestContextServiceAccessorBase(IHttpContextAccessor httpContextAccessor)
=> _httpContextAccessor = httpContextAccessor;
public bool TryGetValue([NotNullWhen(true)] out T? requestStartNodeService)
{
requestStartNodeService = _httpContextAccessor.HttpContext?.RequestServices.GetService<T>();
return requestStartNodeService is not null;
}
}
@@ -0,0 +1,32 @@
using Microsoft.AspNetCore.OutputCaching;
using Microsoft.Extensions.DependencyInjection;
using Umbraco.Cms.Core.DeliveryApi;
namespace Umbraco.Cms.Api.Delivery.Caching;
internal sealed class DeliveryApiOutputCachePolicy : IOutputCachePolicy
{
private readonly TimeSpan _duration;
public DeliveryApiOutputCachePolicy(TimeSpan duration)
=> _duration = duration;
ValueTask IOutputCachePolicy.CacheRequestAsync(OutputCacheContext context, CancellationToken cancellationToken)
{
IRequestPreviewService requestPreviewService = context
.HttpContext
.RequestServices
.GetRequiredService<IRequestPreviewService>();
context.EnableOutputCaching = requestPreviewService.IsPreview() is false;
context.ResponseExpirationTimeSpan = _duration;
return ValueTask.CompletedTask;
}
ValueTask IOutputCachePolicy.ServeFromCacheAsync(OutputCacheContext context, CancellationToken cancellationToken)
=> ValueTask.CompletedTask;
ValueTask IOutputCachePolicy.ServeResponseAsync(OutputCacheContext context, CancellationToken cancellationToken)
=> ValueTask.CompletedTask;
}
@@ -0,0 +1,14 @@
using Microsoft.AspNetCore.Builder;
using Umbraco.Cms.Web.Common.ApplicationBuilder;
namespace Umbraco.Cms.Api.Delivery.Caching;
internal sealed class OutputCachePipelineFilter : UmbracoPipelineFilter
{
public OutputCachePipelineFilter(string name)
: base(name)
=> PostPipeline = PostPipelineAction;
private void PostPipelineAction(IApplicationBuilder applicationBuilder)
=> applicationBuilder.UseOutputCache();
}
@@ -0,0 +1,30 @@
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
using Microsoft.OpenApi.Models;
using Swashbuckle.AspNetCore.SwaggerGen;
using Umbraco.Cms.Api.Common.OpenApi;
using Umbraco.Cms.Api.Delivery.Filters;
namespace Umbraco.Cms.Api.Delivery.Configuration;
public class ConfigureUmbracoDeliveryApiSwaggerGenOptions: IConfigureOptions<SwaggerGenOptions>
{
public void Configure(SwaggerGenOptions swaggerGenOptions)
{
swaggerGenOptions.SwaggerDoc(
DeliveryApiConfiguration.ApiName,
new OpenApiInfo
{
Title = DeliveryApiConfiguration.ApiTitle,
Version = "Latest",
Description = $"You can find out more about the {DeliveryApiConfiguration.ApiTitle} in [the documentation]({DeliveryApiConfiguration.ApiDocumentationContentArticleLink})."
});
swaggerGenOptions.DocumentFilter<MimeTypeDocumentFilter>(DeliveryApiConfiguration.ApiName);
swaggerGenOptions.OperationFilter<SwaggerContentDocumentationFilter>();
swaggerGenOptions.OperationFilter<SwaggerMediaDocumentationFilter>();
swaggerGenOptions.ParameterFilter<SwaggerContentDocumentationFilter>();
swaggerGenOptions.ParameterFilter<SwaggerMediaDocumentationFilter>();
}
}
@@ -0,0 +1,74 @@
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
using Microsoft.OpenApi.Models;
using Swashbuckle.AspNetCore.SwaggerGen;
using Umbraco.Cms.Api.Common.Security;
using Umbraco.Cms.Api.Delivery.Controllers.Content;
using Umbraco.Cms.Api.Delivery.Filters;
namespace Umbraco.Cms.Api.Delivery.Configuration;
/// <summary>
/// This configures member authentication for the Delivery API in Swagger. Consult the docs for
/// member authentication within the Delivery API for instructions on how to use this.
/// </summary>
/// <remarks>
/// This class is not used by the core CMS due to the required installation dependencies (local login page among other things).
/// </remarks>
public class ConfigureUmbracoMemberAuthenticationDeliveryApiSwaggerGenOptions : IConfigureOptions<SwaggerGenOptions>
{
private const string AuthSchemeName = "Umbraco Member";
public void Configure(SwaggerGenOptions options)
{
options.AddSecurityDefinition(
AuthSchemeName,
new OpenApiSecurityScheme
{
In = ParameterLocation.Header,
Name = AuthSchemeName,
Type = SecuritySchemeType.OAuth2,
Description = "Umbraco Member Authentication",
Flows = new OpenApiOAuthFlows
{
AuthorizationCode = new OpenApiOAuthFlow
{
AuthorizationUrl = new Uri(Paths.MemberApi.AuthorizationEndpoint, UriKind.Relative),
TokenUrl = new Uri(Paths.MemberApi.TokenEndpoint, UriKind.Relative)
}
}
});
// add security requirements for content API operations
options.OperationFilter<DeliveryApiSecurityFilter>();
}
private class DeliveryApiSecurityFilter : SwaggerFilterBase<ContentApiControllerBase>, IOperationFilter
{
public void Apply(OpenApiOperation operation, OperationFilterContext context)
{
if (CanApply(context) is false)
{
return;
}
operation.Security = new List<OpenApiSecurityRequirement>
{
new OpenApiSecurityRequirement
{
{
new OpenApiSecurityScheme
{
Reference = new OpenApiReference
{
Type = ReferenceType.SecurityScheme,
Id = AuthSchemeName,
}
},
new string[] { }
}
}
};
}
}
}
@@ -0,0 +1,12 @@
namespace Umbraco.Cms.Api.Delivery.Configuration;
internal static class DeliveryApiConfiguration
{
internal const string ApiTitle = "Umbraco Delivery API";
internal const string ApiName = "delivery";
internal const string ApiDocumentationContentArticleLink = "https://docs.umbraco.com/umbraco-cms/reference/content-delivery-api";
internal const string ApiDocumentationMediaArticleLink = "https://docs.umbraco.com/umbraco-cms/reference/content-delivery-api/media-delivery-api";
}
@@ -0,0 +1,70 @@
using Asp.Versioning;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Umbraco.Cms.Core.DeliveryApi;
using Umbraco.Cms.Core.Models.DeliveryApi;
using Umbraco.Cms.Core.Models.PublishedContent;
namespace Umbraco.Cms.Api.Delivery.Controllers.Content;
[ApiVersion("1.0")]
[ApiVersion("2.0")]
public class ByIdContentApiController : ContentApiItemControllerBase
{
private readonly IRequestMemberAccessService _requestMemberAccessService;
public ByIdContentApiController(
IApiPublishedContentCache apiPublishedContentCache,
IApiContentResponseBuilder apiContentResponseBuilder,
IRequestMemberAccessService requestMemberAccessService)
: base(apiPublishedContentCache, apiContentResponseBuilder)
=> _requestMemberAccessService = requestMemberAccessService;
[HttpGet("item/{id:guid}")]
[MapToApiVersion("1.0")]
[ProducesResponseType(typeof(IApiContentResponse), StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
[ProducesResponseType(StatusCodes.Status403Forbidden)]
[ProducesResponseType(StatusCodes.Status404NotFound)]
[Obsolete("Please use version 2 of this API. Will be removed in V15.")]
public async Task<IActionResult> ById(Guid id)
=> await HandleRequest(id);
/// <summary>
/// Gets a content item by id.
/// </summary>
/// <param name="id">The unique identifier of the content item.</param>
/// <returns>The content item or not found result.</returns>
[HttpGet("item/{id:guid}")]
[MapToApiVersion("2.0")]
[ProducesResponseType(typeof(IApiContentResponse), StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
[ProducesResponseType(StatusCodes.Status403Forbidden)]
[ProducesResponseType(StatusCodes.Status404NotFound)]
public async Task<IActionResult> ByIdV20(Guid id)
=> await HandleRequest(id);
private async Task<IActionResult> HandleRequest(Guid id)
{
IPublishedContent? contentItem = ApiPublishedContentCache.GetById(id);
if (contentItem is null)
{
return NotFound();
}
IActionResult? deniedAccessResult = await HandleMemberAccessAsync(contentItem, _requestMemberAccessService);
if (deniedAccessResult is not null)
{
return deniedAccessResult;
}
IApiContentResponse? apiContentResponse = ApiContentResponseBuilder.Build(contentItem);
if (apiContentResponse is null)
{
return NotFound();
}
return Ok(apiContentResponse);
}
}
@@ -0,0 +1,63 @@
using Asp.Versioning;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Umbraco.Cms.Core.DeliveryApi;
using Umbraco.Cms.Core.Models.DeliveryApi;
using Umbraco.Cms.Core.Models.PublishedContent;
using Umbraco.Extensions;
namespace Umbraco.Cms.Api.Delivery.Controllers.Content;
[ApiVersion("1.0")]
[ApiVersion("2.0")]
public class ByIdsContentApiController : ContentApiItemControllerBase
{
private readonly IRequestMemberAccessService _requestMemberAccessService;
public ByIdsContentApiController(
IApiPublishedContentCache apiPublishedContentCache,
IApiContentResponseBuilder apiContentResponseBuilder,
IRequestMemberAccessService requestMemberAccessService)
: base(apiPublishedContentCache, apiContentResponseBuilder)
=> _requestMemberAccessService = requestMemberAccessService;
[HttpGet("item")]
[MapToApiVersion("1.0")]
[ProducesResponseType(typeof(IEnumerable<IApiContentResponse>), StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
[ProducesResponseType(StatusCodes.Status403Forbidden)]
[Obsolete("Please use version 2 of this API. Will be removed in V15.")]
public async Task<IActionResult> Item([FromQuery(Name = "id")] HashSet<Guid> ids)
=> await HandleRequest(ids);
/// <summary>
/// Gets content items by ids.
/// </summary>
/// <param name="ids">The unique identifiers of the content items to retrieve.</param>
/// <returns>The content items.</returns>
[HttpGet("items")]
[MapToApiVersion("2.0")]
[ProducesResponseType(typeof(IEnumerable<IApiContentResponse>), StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
[ProducesResponseType(StatusCodes.Status403Forbidden)]
public async Task<IActionResult> ItemsV20([FromQuery(Name = "id")] HashSet<Guid> ids)
=> await HandleRequest(ids);
private async Task<IActionResult> HandleRequest(HashSet<Guid> ids)
{
IPublishedContent[] contentItems = ApiPublishedContentCache.GetByIds(ids).ToArray();
IActionResult? deniedAccessResult = await HandleMemberAccessAsync(contentItems, _requestMemberAccessService);
if (deniedAccessResult is not null)
{
return deniedAccessResult;
}
IApiContentResponse[] apiContentItems = contentItems
.Select(ApiContentResponseBuilder.Build)
.WhereNotNull()
.ToArray();
return await Task.FromResult(Ok(apiContentItems));
}
}
@@ -0,0 +1,159 @@
using Asp.Versioning;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.DependencyInjection;
using Umbraco.Cms.Core;
using Umbraco.Cms.Core.DeliveryApi;
using Umbraco.Cms.Core.DependencyInjection;
using Umbraco.Cms.Core.Models.DeliveryApi;
using Umbraco.Cms.Core.Models.PublishedContent;
using Umbraco.Cms.Core.Services;
namespace Umbraco.Cms.Api.Delivery.Controllers.Content;
[ApiVersion("1.0")]
[ApiVersion("2.0")]
public class ByRouteContentApiController : ContentApiItemControllerBase
{
private readonly IApiContentPathResolver _apiContentPathResolver;
private readonly IRequestRedirectService _requestRedirectService;
private readonly IRequestPreviewService _requestPreviewService;
private readonly IRequestMemberAccessService _requestMemberAccessService;
private const string PreviewContentRequestPathPrefix = $"/{Constants.DeliveryApi.Routing.PreviewContentPathPrefix}";
[Obsolete($"Please use the constructor that accepts {nameof(IApiContentPathResolver)}. Will be removed in V15.")]
public ByRouteContentApiController(
IApiPublishedContentCache apiPublishedContentCache,
IApiContentResponseBuilder apiContentResponseBuilder,
IRequestRoutingService requestRoutingService,
IRequestRedirectService requestRedirectService,
IRequestPreviewService requestPreviewService,
IRequestMemberAccessService requestMemberAccessService)
: this(
apiPublishedContentCache,
apiContentResponseBuilder,
requestRedirectService,
requestPreviewService,
requestMemberAccessService,
StaticServiceProvider.Instance.GetRequiredService<IApiContentPathResolver>())
{
}
[Obsolete($"Please use the non-obsolete constructor. Will be removed in V15.")]
public ByRouteContentApiController(
IApiPublishedContentCache apiPublishedContentCache,
IApiContentResponseBuilder apiContentResponseBuilder,
IPublicAccessService publicAccessService,
IRequestRoutingService requestRoutingService,
IRequestRedirectService requestRedirectService,
IRequestPreviewService requestPreviewService,
IRequestMemberAccessService requestMemberAccessService,
IApiContentPathResolver apiContentPathResolver)
: this(
apiPublishedContentCache,
apiContentResponseBuilder,
requestRedirectService,
requestPreviewService,
requestMemberAccessService,
apiContentPathResolver)
{
}
[ActivatorUtilitiesConstructor]
public ByRouteContentApiController(
IApiPublishedContentCache apiPublishedContentCache,
IApiContentResponseBuilder apiContentResponseBuilder,
IRequestRedirectService requestRedirectService,
IRequestPreviewService requestPreviewService,
IRequestMemberAccessService requestMemberAccessService,
IApiContentPathResolver apiContentPathResolver)
: base(apiPublishedContentCache, apiContentResponseBuilder)
{
_requestRedirectService = requestRedirectService;
_requestPreviewService = requestPreviewService;
_requestMemberAccessService = requestMemberAccessService;
_apiContentPathResolver = apiContentPathResolver;
}
[HttpGet("item/{*path}")]
[MapToApiVersion("1.0")]
[ProducesResponseType(typeof(IApiContentResponse), StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
[ProducesResponseType(StatusCodes.Status403Forbidden)]
[ProducesResponseType(StatusCodes.Status404NotFound)]
[Obsolete("Please use version 2 of this API. Will be removed in V15.")]
public async Task<IActionResult> ByRoute(string path = "")
=> await HandleRequest(path);
/// <summary>
/// Gets a content item by route.
/// </summary>
/// <param name="path">The path to the content item.</param>
/// <remarks>
/// Optional URL segment for the root content item
/// can be added through the "start-item" header.
/// </remarks>
/// <returns>The content item or not found result.</returns>
[HttpGet("item/{*path}")]
[MapToApiVersion("2.0")]
[ProducesResponseType(typeof(IApiContentResponse), StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status401Unauthorized)]
[ProducesResponseType(StatusCodes.Status403Forbidden)]
[ProducesResponseType(StatusCodes.Status404NotFound)]
public async Task<IActionResult> ByRouteV20(string path = "")
=> await HandleRequest(path);
private async Task<IActionResult> HandleRequest(string path)
{
path = DecodePath(path);
path = path.Length == 0 ? "/" : path;
IPublishedContent? contentItem = GetContent(path);
if (contentItem is not null)
{
IActionResult? deniedAccessResult = await HandleMemberAccessAsync(contentItem, _requestMemberAccessService);
if (deniedAccessResult is not null)
{
return deniedAccessResult;
}
return await Task.FromResult(Ok(ApiContentResponseBuilder.Build(contentItem)));
}
IApiContentRoute? redirectRoute = _requestRedirectService.GetRedirectRoute(path);
return redirectRoute != null
? RedirectTo(redirectRoute)
: NotFound();
}
private IPublishedContent? GetContent(string path)
=> path.StartsWith(PreviewContentRequestPathPrefix)
? GetPreviewContent(path)
: GetPublishedContent(path);
private IPublishedContent? GetPublishedContent(string path)
=> _apiContentPathResolver.ResolveContentPath(path);
private IPublishedContent? GetPreviewContent(string path)
{
if (_requestPreviewService.IsPreview() is false)
{
return null;
}
if (Guid.TryParse(path.AsSpan(PreviewContentRequestPathPrefix.Length).TrimEnd("/"), out Guid contentId) is false)
{
return null;
}
IPublishedContent? contentItem = ApiPublishedContentCache.GetById(contentId);
return contentItem;
}
private IActionResult RedirectTo(IApiContentRoute redirectRoute)
{
Response.Headers.Add("Location-Start-Item-Path", redirectRoute.StartItem.Path);
Response.Headers.Add("Location-Start-Item-Id", redirectRoute.StartItem.Id.ToString("D"));
return RedirectPermanent(redirectRoute.Path);
}
}
@@ -0,0 +1,61 @@
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.OutputCaching;
using Umbraco.Cms.Api.Common.Builders;
using Umbraco.Cms.Api.Delivery.Filters;
using Umbraco.Cms.Api.Delivery.Routing;
using Umbraco.Cms.Core;
using Umbraco.Cms.Core.DeliveryApi;
using Umbraco.Cms.Core.Services.OperationStatus;
namespace Umbraco.Cms.Api.Delivery.Controllers.Content;
[DeliveryApiAccess]
[VersionedDeliveryApiRoute("content")]
[ApiExplorerSettings(GroupName = "Content")]
[LocalizeFromAcceptLanguageHeader]
[ValidateStartItem]
[OutputCache(PolicyName = Constants.DeliveryApi.OutputCache.ContentCachePolicy)]
public abstract class ContentApiControllerBase : DeliveryApiControllerBase
{
protected IApiPublishedContentCache ApiPublishedContentCache { get; }
protected IApiContentResponseBuilder ApiContentResponseBuilder { get; }
protected ContentApiControllerBase(IApiPublishedContentCache apiPublishedContentCache, IApiContentResponseBuilder apiContentResponseBuilder)
{
ApiPublishedContentCache = apiPublishedContentCache;
ApiContentResponseBuilder = apiContentResponseBuilder;
}
protected IActionResult ApiContentQueryOperationStatusResult(ApiContentQueryOperationStatus status) =>
status switch
{
ApiContentQueryOperationStatus.FilterOptionNotFound => BadRequest(new ProblemDetailsBuilder()
.WithTitle("Filter option not found")
.WithDetail("One of the attempted 'filter' options does not exist")
.Build()),
ApiContentQueryOperationStatus.SelectorOptionNotFound => BadRequest(new ProblemDetailsBuilder()
.WithTitle("Selector option not found")
.WithDetail("The attempted 'fetch' option does not exist")
.Build()),
ApiContentQueryOperationStatus.SortOptionNotFound => BadRequest(new ProblemDetailsBuilder()
.WithTitle("Sort option not found")
.WithDetail("One of the attempted 'sort' options does not exist")
.Build()),
_ => BadRequest(new ProblemDetailsBuilder()
.WithTitle("Unknown content query status")
.WithDetail($"Content query status \"{status}\" was not expected here")
.Build()),
};
/// <summary>
/// Creates a 403 Forbidden result.
/// </summary>
/// <remarks>
/// Use this method instead of <see cref="ControllerBase.Forbid()"/> on the controller base. The latter will yield
/// a redirect to an access denied URL because of the default cookie auth scheme. This method ensures that a proper
/// 403 Forbidden status code is returned to the client.
/// </remarks>
protected IActionResult Forbidden() => new StatusCodeResult(StatusCodes.Status403Forbidden);
}
@@ -0,0 +1,41 @@
using Microsoft.AspNetCore.Mvc;
using Umbraco.Cms.Core.DeliveryApi;
using Umbraco.Cms.Core.Models.PublishedContent;
using Umbraco.Cms.Core.Security;
namespace Umbraco.Cms.Api.Delivery.Controllers.Content;
public abstract class ContentApiItemControllerBase : ContentApiControllerBase
{
protected ContentApiItemControllerBase(
IApiPublishedContentCache apiPublishedContentCache,
IApiContentResponseBuilder apiContentResponseBuilder)
: base(apiPublishedContentCache, apiContentResponseBuilder)
{
}
protected async Task<IActionResult?> HandleMemberAccessAsync(IPublishedContent contentItem, IRequestMemberAccessService requestMemberAccessService)
{
PublicAccessStatus accessStatus = await requestMemberAccessService.MemberHasAccessToAsync(contentItem);
return accessStatus is PublicAccessStatus.AccessAccepted
? null
: accessStatus is PublicAccessStatus.AccessDenied
? Forbidden()
: Unauthorized();
}
protected async Task<IActionResult?> HandleMemberAccessAsync(IEnumerable<IPublishedContent> contentItems, IRequestMemberAccessService requestMemberAccessService)
{
foreach (IPublishedContent content in contentItems)
{
IActionResult? result = await HandleMemberAccessAsync(content, requestMemberAccessService);
// if any of the content items yield an error based on the current member access, return that error
if (result is not null)
{
return result;
}
}
return null;
}
}
@@ -0,0 +1,91 @@
using Asp.Versioning;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Umbraco.Cms.Api.Common.ViewModels.Pagination;
using Umbraco.Cms.Core;
using Umbraco.Cms.Core.DeliveryApi;
using Umbraco.Cms.Core.Models;
using Umbraco.Cms.Core.Models.DeliveryApi;
using Umbraco.Cms.Core.Models.PublishedContent;
using Umbraco.Cms.Core.Services.OperationStatus;
using Umbraco.Extensions;
namespace Umbraco.Cms.Api.Delivery.Controllers.Content;
[ApiVersion("1.0")]
[ApiVersion("2.0")]
public class QueryContentApiController : ContentApiControllerBase
{
private readonly IRequestMemberAccessService _requestMemberAccessService;
private readonly IApiContentQueryService _apiContentQueryService;
public QueryContentApiController(
IApiPublishedContentCache apiPublishedContentCache,
IApiContentResponseBuilder apiContentResponseBuilderBuilder,
IApiContentQueryService apiContentQueryService,
IRequestMemberAccessService requestMemberAccessService)
: base(apiPublishedContentCache, apiContentResponseBuilderBuilder)
{
_apiContentQueryService = apiContentQueryService;
_requestMemberAccessService = requestMemberAccessService;
}
[HttpGet]
[MapToApiVersion("1.0")]
[ProducesResponseType(typeof(PagedViewModel<IApiContentResponse>), StatusCodes.Status200OK)]
[ProducesResponseType(typeof(ProblemDetails), StatusCodes.Status400BadRequest)]
[ProducesResponseType(StatusCodes.Status404NotFound)]
[Obsolete("Please use version 2 of this API. Will be removed in V15.")]
public async Task<IActionResult> Query(
string? fetch,
[FromQuery] string[] filter,
[FromQuery] string[] sort,
int skip = 0,
int take = 10)
=> await HandleRequest(fetch, filter, sort, skip, take);
/// <summary>
/// Gets a paginated list of content item(s) from query.
/// </summary>
/// <param name="fetch">Optional fetch query parameter value.</param>
/// <param name="filter">Optional filter query parameters values.</param>
/// <param name="sort">Optional sort query parameters values.</param>
/// <param name="skip">The amount of items to skip.</param>
/// <param name="take">The amount of items to take.</param>
/// <returns>The paged result of the content item(s).</returns>
[HttpGet]
[MapToApiVersion("2.0")]
[ProducesResponseType(typeof(PagedViewModel<IApiContentResponse>), StatusCodes.Status200OK)]
[ProducesResponseType(typeof(ProblemDetails), StatusCodes.Status400BadRequest)]
[ProducesResponseType(StatusCodes.Status404NotFound)]
public async Task<IActionResult> QueryV20(
string? fetch,
[FromQuery] string[] filter,
[FromQuery] string[] sort,
int skip = 0,
int take = 10)
=> await HandleRequest(fetch, filter, sort, skip, take);
private async Task<IActionResult> HandleRequest(string? fetch, string[] filter, string[] sort, int skip, int take)
{
ProtectedAccess protectedAccess = await _requestMemberAccessService.MemberAccessAsync();
Attempt<PagedModel<Guid>, ApiContentQueryOperationStatus> queryAttempt = _apiContentQueryService.ExecuteQuery(fetch, filter, sort, protectedAccess, skip, take);
if (queryAttempt.Success is false)
{
return ApiContentQueryOperationStatusResult(queryAttempt.Status);
}
PagedModel<Guid> pagedResult = queryAttempt.Result;
IEnumerable<IPublishedContent> contentItems = ApiPublishedContentCache.GetByIds(pagedResult.Items);
IApiContentResponse[] apiContentItems = contentItems.Select(ApiContentResponseBuilder.Build).WhereNotNull().ToArray();
var model = new PagedViewModel<IApiContentResponse>
{
Total = pagedResult.Total,
Items = apiContentItems
};
return Ok(model);
}
}
@@ -0,0 +1,33 @@
using System.Net;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Umbraco.Cms.Api.Common.Attributes;
using Umbraco.Cms.Api.Common.Filters;
using Umbraco.Cms.Api.Delivery.Configuration;
using Umbraco.Cms.Core;
using Umbraco.Cms.Core.Features;
using Umbraco.Cms.Web.Common.Authorization;
namespace Umbraco.Cms.Api.Delivery.Controllers;
[ApiController]
[JsonOptionsName(Constants.JsonOptionsNames.DeliveryApi)]
[MapToApi(DeliveryApiConfiguration.ApiName)]
[Authorize(Policy = AuthorizationPolicies.UmbracoFeatureEnabled)]
public abstract class DeliveryApiControllerBase : Controller, IUmbracoFeature
{
protected string DecodePath(string path)
{
// OpenAPI does not allow reserved chars as "in:path" parameters, so clients based on the Swagger JSON will URL
// encode the path. Normally, ASP.NET Core handles that encoding with an automatic decoding - apparently just not
// for forward slashes, for whatever reason... so we need to deal with those. Hopefully this will be addressed in
// an upcoming version of ASP.NET Core.
// See also https://github.com/dotnet/aspnetcore/issues/11544
if (path.Contains("%2F", StringComparison.OrdinalIgnoreCase))
{
path = WebUtility.UrlDecode(path);
}
return path;
}
}
@@ -0,0 +1,51 @@
using Asp.Versioning;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Umbraco.Cms.Core.Models.DeliveryApi;
using Umbraco.Cms.Core.Models.PublishedContent;
using Umbraco.Cms.Core.PublishedCache;
using Umbraco.Cms.Infrastructure.DeliveryApi;
namespace Umbraco.Cms.Api.Delivery.Controllers.Media;
[ApiVersion("1.0")]
[ApiVersion("2.0")]
public class ByIdMediaApiController : MediaApiControllerBase
{
public ByIdMediaApiController(IPublishedSnapshotAccessor publishedSnapshotAccessor, IApiMediaWithCropsResponseBuilder apiMediaWithCropsResponseBuilder)
: base(publishedSnapshotAccessor, apiMediaWithCropsResponseBuilder)
{
}
[HttpGet("item/{id:guid}")]
[MapToApiVersion("1.0")]
[ProducesResponseType(typeof(IApiMediaWithCropsResponse), StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status404NotFound)]
[Obsolete("Please use version 2 of this API. Will be removed in V15.")]
public async Task<IActionResult> ById(Guid id)
=> await HandleRequest(id);
/// <summary>
/// Gets a media item by id.
/// </summary>
/// <param name="id">The unique identifier of the media item.</param>
/// <returns>The media item or not found result.</returns>
[HttpGet("item/{id:guid}")]
[MapToApiVersion("2.0")]
[ProducesResponseType(typeof(IApiMediaWithCropsResponse), StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status404NotFound)]
public async Task<IActionResult> ByIdV20(Guid id)
=> await HandleRequest(id);
private async Task<IActionResult> HandleRequest(Guid id)
{
IPublishedContent? media = PublishedMediaCache.GetById(id);
if (media is null)
{
return await Task.FromResult(NotFound());
}
return Ok(BuildApiMediaWithCrops(media));
}
}
@@ -0,0 +1,52 @@
using Asp.Versioning;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Umbraco.Cms.Core.Models.DeliveryApi;
using Umbraco.Cms.Core.Models.PublishedContent;
using Umbraco.Cms.Core.PublishedCache;
using Umbraco.Cms.Infrastructure.DeliveryApi;
using Umbraco.Extensions;
namespace Umbraco.Cms.Api.Delivery.Controllers.Media;
[ApiVersion("1.0")]
[ApiVersion("2.0")]
public class ByIdsMediaApiController : MediaApiControllerBase
{
public ByIdsMediaApiController(IPublishedSnapshotAccessor publishedSnapshotAccessor, IApiMediaWithCropsResponseBuilder apiMediaWithCropsResponseBuilder)
: base(publishedSnapshotAccessor, apiMediaWithCropsResponseBuilder)
{
}
[HttpGet("item")]
[MapToApiVersion("1.0")]
[ProducesResponseType(typeof(IEnumerable<IApiMediaWithCropsResponse>), StatusCodes.Status200OK)]
[Obsolete("Please use version 2 of this API. Will be removed in V15.")]
public async Task<IActionResult> Item([FromQuery(Name = "id")] HashSet<Guid> ids)
=> await HandleRequest(ids);
/// <summary>
/// Gets media items by ids.
/// </summary>
/// <param name="ids">The unique identifiers of the media items to retrieve.</param>
/// <returns>The media items.</returns>
[HttpGet("items")]
[MapToApiVersion("2.0")]
[ProducesResponseType(typeof(IEnumerable<IApiMediaWithCropsResponse>), StatusCodes.Status200OK)]
public async Task<IActionResult> ItemsV20([FromQuery(Name = "id")] HashSet<Guid> ids)
=> await HandleRequest(ids);
private async Task<IActionResult> HandleRequest(HashSet<Guid> ids)
{
IPublishedContent[] mediaItems = ids
.Select(PublishedMediaCache.GetById)
.WhereNotNull()
.ToArray();
IApiMediaWithCropsResponse[] apiMediaItems = mediaItems
.Select(BuildApiMediaWithCrops)
.ToArray();
return await Task.FromResult(Ok(apiMediaItems));
}
}

Some files were not shown because too many files have changed in this diff Show More