* 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>
* Add configuration/code to not run certain tests based on variables/release builds
* Applied longrunning testAttribute to the worst offenders (>200ms on my machine)
* Fix yaml notation
* split up windows/non windows test runs
* Added supression for moved tests
* Fix yaml validation issues
* Change yaml string parameter null value to empty string
* Convert empty strings to whitespace strings
* Rename and cleanup some paramater to better reflect why we use them
* Nightly build test
* Change nightly build authentication type
* template paramater fix
* Update nightly pipeline name
---------
Co-authored-by: Sven Geusens <sge@umbraco.dk>
* 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
* 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>
* 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>
* 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>
* 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
* 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
* Update language models to get and set manual name
* Save custom language name in controller
* Rewrite AngularJS language edit view and controller
* Cleanup language overview
* Remove icon from language overview
* Make styling of control group the same as properties
* Ensure both ISO code and culture name are set in language model
* Use new language model constructor
* Update tests to use new language constructor
* Update culture name in dictionary package export
* Use language name in dictionary
* Fix language nullability issues
* Cleanup GetAllCultures and added null checks
* Re-add obsolete constructors
* Make language name required and update Cypress test
* Fix routing/saveNewLanguages Cypress test
* Make language name optional (improved backwards compatibility)
Co-authored-by: Ronald Barendse <ronald@panoramastudios.nl>
* 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>