* Bugfix - Take ufprt from form data if the request has form content type, otherwise fallback to use the query
* External linking for members
* Changed migration to reuse old table
* removed unnecessary web.config files
* Cleanup
* Extracted class to own file
* Clean up
* Rollback changes to Umbraco.Web.UI.csproj
* Fixed migration for SqlCE
* Change notification handler to be on deleted
* Update src/Umbraco.Infrastructure/Security/MemberUserStore.cs
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
* Fixed issue with errors not shown on member linking
* fixed issue with errors
* clean up
* Fix issue where external logins could not be used to upgrade Umbraco, because the externalLogin table was expected to look different. (Like after the migration)
* Fixed issue in Ignore legacy column now using result column.
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
* Fixing ContentDashboardSettings to work when set in the config
* Moving file in Models folder and adding ContentDashboardUrlAllowlist setting
* Implementing allowlist for content dashboard base url
* Cleanup
* Error msg vs log msg
* Returns "Page Not Found" when template doesn't exist for a docType
* Fix comment
* Use IsNullOrWhiteSpace instead of IsNullOrEmpty
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
* Add UmbracoApplicationStartedNotification and UmbracoApplicationStoppedNotification
* Include cancellation token when publishing unattended install/upgrade notifications
* Update web.config
* Change web.config to align with v8 default values
* Adjust kestrel options to align with v8
* Add better comment
* added web.config to root
* change web.config to 30mb
* delete obsolete comment
* No reason to have web.config to just have it default
* Add back ConfigureIISServerOptions.cs
* Add obsolete comment, can't link to documentation yet as it doesn't exist
* Apply suggestions from code review
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
* Add link to documentation
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
* Add failing test to demo issue with handlers + scoped dependencies.
* Make using scoped services in notification handlers less painful.
* Update comments for accuracy.
* Allow changing UmbracoMediaPath to an absolute path. Also ensure Imagesharp are handing requests outside of the wwwroot folder.
* Let UmbracoMediaUrl fallback to UmbracoMediaPath when empty
* Add FileSystemFileProvider to expose an IFileSystem as IFileProvider
* Replace IUmbracoMediaFileProvider with IFileProviderFactory implementation
* Fix issue resolving relative paths when media URL has changed
* Remove FileSystemFileProvider and require explicitly implementing IFileProviderFactory
* Update tests (UnauthorizedAccessException isn't thrown anymore for rooted files)
* Update test to use UmbracoMediaUrl
* Add UmbracoMediaPhysicalRootPath global setting
* Remove MediaFileManagerImageProvider and use composited file providers
* Move CreateFileProvider to IFileSystem extension method
* Add rooted path tests
Co-authored-by: Ronald Barendse <ronald@barend.se>
* Move package to database
* Added migration and implemented new repository
* Updated migrations to use proper xml convert
* Fixed save function and renamed createDate to update date
* Updated dependencyInjection
* Updated UmbracoPlan.cs
* Apply suggestions from code review
Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
* Added File check
* Tried using same context as create table
* Fix DTO
* Fix GetById and local package saving
* Fix images when migrating
* Implement deletion of all local files
* Only delete local repo file, not file snapshots
* Remove static package path and use the one we save
* Update package repo to export package and remove check for ids when exporting
* Minor fixes
* Fix so that you can download package after creating
* Update savePackage method to export package afterwards
Co-authored-by: Nikolaj Geisle <niko737@edu.ucl.dk>
Co-authored-by: Elitsa Marinovska <elm@umbraco.dk>
Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
* Add TelemetryService
Currently it only allows you to get a list of the name of all the installed packages
* Create model class for package telemetry
And move the telemetry report data out of ReportSiteTask
* Add version as an option in package manifest
* Use TelemetryService to generate telemetry data
Instead of doing it directly in the ReportSiteTask
* Seal TelemetryService
This should not be overwritten
* Add option for package creators to opt out
* Add global setting to restrict package telemetry
* Add TelemetryService unit tests
* Add ManifestParser tests for new properties
* Clean
* Update src/Umbraco.Core/Telemetry/TelemetryService.cs
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
* Create interface for telemetry service
* Use IOptionsMonitor instead of IOptions
However I chose to use CurrentValue since according to microsoft: "Some file systems, such as Docker containers and network shares, may not reliably send change notifications.", additionally TelemetryService only runs once pr. day, so it shouldn't be too much of an issue that it doesn't cache the result.
* Use is false instead of negation
It's a bit more readable
* Track restrict package telemetry value
* Save RestrictPackageTelemetry in report data
Not packages, since it'll be the same for all packages
* Fix TelemetryService unit tests
* Clean
* Update src/Umbraco.Core/Telemetry/ITelemetryService.cs
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
* Remove RestrictPackageTelemetry
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
* Adding ILogLevelLoader to get Serilog level values (global one and umbraco) and the corresponding dependencies
* Obsoleting old methods
* Fix tests
* Front-end changes
* Changes requested in a review
* https://github.com/umbraco/Umbraco-CMS/issues/11366
Fallback to try login using super legacy HMACSHA1 even when the algorithm is stated as being HMACSHA256. The issue is that v8 saves HMACSHA256 on the user, but when configured to use legacy encoding it actually uses HMACSHA1
* Support migration of members with:
UseLegacyEncoding+Clear
UseLegacyEncoding+Encrypted (Requires machine key)
UseLegacyEncoding+Hashed
* Fixes unit tests
* Avoid exceptions + unit tests
* Save unknown algorithm if we dont know it, instead of persisting a wrong algorithm.
* Added setting to enable clear text password rehashes.
* Removed support for migration of clear text passwords
* Fixed unit test
* cherry-pick 13a51d32 (V8 History cleanup import/export)
Support import/export for doc type history cleanup policy (#11660)
* Support import/export for doc type history cleanup policy
* Support unset/null history cleanup value
* Resolve issue when api endpoints called without cleanup policy.
noop isn't good enough as map fails for response.
* null conditional vs null coalesce assignment
* Don't overwrite existing policy if omitted in import XML
* Update history cleanup warning and translations
* Change history cleanup alert to infomational styling
* Remove margin around history cleanup config
Co-authored-by: Ronald Barendse <ronald@barend.se>
# Conflicts:
# src/Umbraco.Core/Models/IContentType.cs
# src/Umbraco.Core/Packaging/PackageDataInstallation.cs
# src/Umbraco.Infrastructure/Persistence/Repositories/Implement/ContentTypeRepository.cs
# src/Umbraco.Infrastructure/Services/Implement/EntityXmlSerializer.cs
# src/Umbraco.Tests/Packaging/PackageDataInstallationTests.cs
# src/Umbraco.Tests/Services/Importing/ImportResources.Designer.cs
# src/Umbraco.Tests/Umbraco.Tests.csproj
# src/Umbraco.Web.UI/umbraco/config/lang/en.xml
# src/Umbraco.Web.UI/umbraco/config/lang/en_us.xml
# src/Umbraco.Web/Models/Mapping/ContentTypeMapDefinition.cs
# tests/Umbraco.Tests.Integration/Umbraco.Infrastructure/Services/Importing/ImportResources.resx
# tests/Umbraco.Tests.UnitTests/Umbraco.Core/Services/Importing/SingleDocType-WithCleanupPolicy.xml
* Remove namespace aliases
* Update IContentTypeWithHistoryCleanup documentation
Co-authored-by: Ronald Barendse <ronald@barend.se>
* Update Smidge
* Add SmidgeRequestHelper to override the compression order
By default Smidge will always try and use Brotli (br), this compression is good in the the sense that it compresses the file quite a bit, but sadly it's super super slow, like 10 seconds for backoffice js slow.
* Remove unnecessary new keyword
Co-authored-by: nikolajlauridsen <nel@umbraco.dk>
* Update Smidge
* Add SmidgeRequestHelper to override the compression order
By default Smidge will always try and use Brotli (br), this compression is good in the the sense that it compresses the file quite a bit, but sadly it's super super slow, like 10 seconds for backoffice js slow.
* Remove unnecessary new keyword
Co-authored-by: nikolajlauridsen <nel@umbraco.dk>
* Rename AddOEmbedProvider to AddEmbedProvider
* Obsolete OEmbedProviders()
Obsolete OEmbedProviders() and proxy it to a new EmbedProviders()
* Rename EmbedProviderBase to OEmbedProviderBase
Rename EmbedProviderBase to OEmbedProviderBase
Add an obsoleted class EmbedProviderBase
Add todo's to all implementations
* remove unintentionally comment
Rem: automatic tests failures not linked to this PR.
* Create UmbracoBuilder.ContentApps.cs
Add an extension method to register content apps to make it possible to register content apps in the startup.cs class.
* Create UmbracoBuilder.CollectionsBuilders
* White space
* Rename OEmbedProvider to EmbedProvider
* Rename EmbedProvider to OEmbedProvider
* Added EntityController.GetUrlsByIds support for int & guid + update MNTP
Fixes issue with MNTP (for 8.18) in a partial view macro - GH #11631
Renamed GetUrlsByUdis to match, don't do this in v9 as it would be
breaking there, instead mark it obsolete.
TODO: v9 ensure integration test coverage, more painful here as no
WebApplicationFactory.
* Added partial test coverage for GetUrlsByIds.
This doesn't actually work in the backoffice because of GH #11448
So lets fix that next.
* Failing test demonstrating #11448
* Fix for #11448 getByIds doesn't work as expected.
ParameterSwapControllerActionSelectorAttribute - cached body survived between requests.
* Expand on sync vs async comment for future confused souls.
* Might aswell cache parsed json vs string for performance
* Make ParameterSwapControllerActionSelector remarks more accurate.
* Share deserialized request body between action constraint and model binder
* Be more defensive with RequestBodyAsJObject HttpContext item
Only store if deserialize success.
Don't assume key being present means can cast as JObject.
* Nest constant a little deeper.
* Final defensive tweak