* 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
* 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)
* 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
* 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)
* Refactor block list/grid property value editors for code reuse
* Prettify block grid editor data conveter a bit
* correct appearance and colors
* validation should only kick in if value is higher than 0 and not null
* Add copyright notice to code, a little formatting and file scoped namespaces where applicable
* custom views
* custom views for blocks
* Refactor block list min/max validation and reuse for block grid
* Prettify extraction of nested content-and-settings references for block grid
* Fix bad naming
* fix casing
* Refactor block list notification handler and reuse for block grid
* context sensitive ui for Blocks
* Refactor notification handlers for block list and block grid incl. unit tests
* Formatting and review
* Bump number of expected data editors in unit test
* initial progress on column options editor
* column span options UI
* column span UI adjustments
* context aware ui adjustments
* minor border improvement
* get and pick layout stylesheet
* remove random x
* make highlight border standout more
* dedicated context bar
* UI improvements
* remove annoying indication
* copy paste
* UI improvements
* remove div.umb-block-grid__block--view from partial
* show block ui, only hide when hovering area.
* area actions
* UI Adjustments
* Block grid editor localization (#12915)
Co-authored-by: Niels Lyngsø <niels.lyngso@gmail.com>
* fix case of empty value
* use right index
* place border on top of column indication
* heroblock
* userFlowWhenBlockWasCreated
* shorter messages
* overal improvements
* force left/right drag feature
* stylesheet picker localization
* localizations
* space
* unnesecary removal of space
* notes on masonry
* validation form parent skipping + better snapping when drag n drop
* remove icons
* make rows go as minimal as posible
* scale and drop indications
* use item width to determin forceLeft or forceRight
* clean up
* Make clipboard filtering work with block arrays
* readonly mode
* important note
* ask to revert failed paste
* dont allow for backdrop click
* changed wording
* more area actions outside grid container
* droppable indication
* implemented minimal responsive solution.
* add additional data fields about grid clumns
* improved fallback columns width + rows height
* make root element class `umb-block-grid`
* align layout with position relatives, to align visual experience.
* use clientX not screenX
* rename area classes so they dont include the word 'block'
* more renaming
* commit flexbox layout css to repo
* fixes
* fix typo
* only show a broader inline create button if the block is full width.
* simplify css
* remove headline block hover effect
* use some font, to make it look better.
* Drag and drop correctiions/limits
* clean up
* remove log
* make assumptions about proposed distance of target
* slightly white border on validation message for areas to make it standout
* drag n drop seems good at this stage
* force left and right buttons and indication
* correct if
* revert scale handler ui
* If columnSpans is empty we fall back to full width
* Access other PreValues from a PreValue Editor
* maybe temprorary turn of distance drag n' drop condition
* setDirty
* area alias was missing in razor and needed help text
* forceleft forceright translations
* forceLeft / forceRight razor
* correct translation +
remove data- on ng-click
* force placement when moving over edge
* remove unnesecary wrapper element
* show-validation
* red text, might be hard to see, lets see.
* for safety have the border-raduis correct
* better wordings
* Use mouse position to judge if the drop is good before or after.
* fit placeholder when item is begin dragged away
* initial step for finding nearest relation when drag-hovering nothing
* Much better drag n drop experience, must be tested further to prove its not breaking some cases.
* title for scale handler
* new approach + massive drag n drop clean up
* avoid complex CSS transfering of props, instead add the prop in HTML
* adjust placeAfter when in vertical direction mode
* do not scale bigger than the available space to the right
* clean css
* fix numbers
* Fix the case of flickering when hitting an empty area.
* correct placement of code
* package lock
* Adjustment for PreValue Area allowances
* comment on fit in line feature
* fixing scale and drag n drop potential issues
* clean up
* only disallow above max
* outcomment unused code
* clean up
* drag n drop above or below container
* fix for Firefox
* Do not edit block if there is no properties in content
* angularJS form for Entries, to correct validation
* parse layout columns, used to know if block is full width of the layout
* use inherited layout columns
* add this to the example html
* flexbox fix
* highlight if empty area
* comments for undefined column spans
* bring back approvedContainer lock period.
* fix
* Do not edit something without properties
* Remove Force, as thats confusing to read.
* correct localization key
* minor corrections
* Fit within context columns
* Conceptual, inline editor for Grid.
* fix casing
* consider related position in directional conditions
* set default max row span to 1
* update columnSpanOption check for sync
* move Editor to group of Rich Text
* more shift autoScroll
* assume layout columns comes as string
* fix variable name
* force left/right indication
* Inject Areas directly in slot, to enable custom view manipulations of such.
* fix sortableJS mis dropping items
* Overwrite create label
* ability to overwrite root layout create label
* Simplify PreValue editor by hidding options that is not in effect.
* Setup new areas as half width if possible
* Grouping blockTypes
* remove flexbox stylesheet
* Chose groups for area allowance
* ensure a good default width
* improve block active state
* Better contextual sizing
* Comment clean up
* Remove The StarterKit from branch
* Unique group identification for the property editor sortable
* only show avaiable block groups in picker.
* Indication of taget area
* Fallback to root grid columns
* use root layout grid columns, so dont update when layoutColumns change
* Ability to remove block group
* clean up references when removing Group or single Block
* fix drop in same group
* Block picker use contexual create label as headline
* adjust area highlight
* Prevalue editor
* structuralOptions
* Move pre values into tabs for better overview and scope
* Let area grid columns fallback to root grid columns, and let both default to "12" instead of "initial"
* remove input close tag
* Allow in areas
* Move build-in custom views
* only show property-into-button on hover when in group-panel__header
* some height for the show buttons
* filter available block type based on allowInAreas
* remove OnlySpecifiedAllowance
* unsupported block if trouble happend
* move allow at root to allowance group
* easily drop at top or below area if outside. If more than 100px outside then see if there is a parent layout to move into.
* block group validation
* shortcut for opening Areas if areas are defined
* scale label for Areas editor
* Added Legacy name on the old grid layout
* Remove files that come with the starter kit
* Sorting: takeover container detection
* Refactor models + remove unused properties
* Endpoint for creating block grid demo element types
* CTA for getting Block Grid demo blocks
* Refactor block grid sample element creation
* Fix Constants-PropertyEditors spacing
* Fixed unit tests
* Get sample configuration
* Labels for sample blocks
* Improve drag, to swap across unallowed area/root
* improved empty threshold
* hide the after inline-create-button if block is located at right side of area/layout
* clean up
* translations
* danish translations
* move outside edge for forceRight
* Update src/Umbraco.Web.Common/Extensions/BlockGridTemplateExtensions.cs
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
* Review comments
* Remove leftover TODO
* big cleanup
* Hide Sample CTA when installed
* clean up
* correct styling for wrapper + moving Block UI to z-index 3 for visiblity on top of other block
* slightly adjusting inline-create-buttons to avoid collisions
* correct localization for force left/right buttons
* gitignorer update
* Clean up nesting of classes in BlockGridConfiguration
* change gitignorer to include App_Plugin folder
* move default layout stylesheet
* remove specific App_plugin folder
* package-lock
* update sample custom views paths
* add custom views for sample
* Adding sample custom views
* Move sample partial Views and custom views
* Update views to not use ModelsBuilder
* Move sample custom views to wwwroot
* Updated Sample CTA text
* Use localize directory
* Ensure groupKey for items without such to work.
Co-authored-by: kjac <kja@umbraco.dk>
Co-authored-by: Warren Buckley <warren@umbraco.com>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
* Addes a parameter to BeginUmbracoForm to allow the disabling of the creation of an antiforgery token.
* Updated project references for Forms and Deploy in the JsonSchema project.
* Revert "Updated project references for Forms and Deploy in the JsonSchema project."
This reverts commit a749b45ab8.
Co-authored-by: Zeegaan <nge@umbraco.dk>
* Removing can connect to database check so that Umbraco errors out on startup rather than trying to re-install when unable to connect to database.
* Revert breaking change
* Support installs of missing databases if the provider CanForceCreateDatabase. Else not
Co-authored-by: Austin Gilbert <AGilbert@rbaconsulting.com>
* Fixed test for tab 'Drags and drops a property in a tab'
* Fixed test for macro 'Create macro'
* Fixed test for dataTypes 'Tests Approved Colors', 'Tests Textbox Maxlength', 'Test Url Picker'
* Fixed: Added more waitForTimeout on the test Tests Approved Colors.
* Fixed test for packages 'Create a simple package' test
* Removed unnecessary waitForTimeout
* Changed waitForTimeout to waiting until an element isVisible
* bumped test-helper packed to 1.0.2
* Removed duplicate isSuccessNotificationVisible
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
* Disapprove member instead of delete if failed autolink
* Update to not disable the member when external login fails, but move the logic to protected method, to make it easy to extend.
Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
* Add OutOfDateType model
* Add ModelsBuilderDashboardControllerBase
* Add BuildModelsController.cs
* Add StatusModelsBuilderDashboardController
* Change to return created and not OK
* Remove unused usings
* Add GetModelsBuilderDashboardController
* Add OpenApi attributes
* Fix formatting
* Fix up dependency injection for ModelsBuilderSettings
* Fix up naming and routing
* Fix up OpenApi attributes
* Remove ability to send raw HTML in dashboard
* Remove obsolete property
* Dont include dashboard in the name
* Async controllers
* Return ActionResults
* Fix up OpenApi contract
* Fix missing usings
* Update src/Umbraco.Cms.ManagementApi/Controllers/ModelsBuilderDashboard/ModelsBuilderControllerBase.cs
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
* use VersionedApiBackOfficeRouteAttribute for routing
* Fix up open api spec
Co-authored-by: Zeegaan <nge@umbraco.dk>
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
* 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>
* 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>
* 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>
* 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>
* 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>
* Only expose swagger ui when in development
* Only expose swagger ui when in development + Test confirming the contract is respected + contract
* Rollback test code
* Fix up formatting
* Add reference to managementapi in integration tests.
* Revert "Add reference to managementapi in integration tests."
This reverts commit 67e2bf8277.
* Fix integration tests
* Add reference to management api in integration tests
* Fix up schema
* Fixed tests
* Fix test.. do not execute that composer twice
* Revert "Updated dependencies and fixed new NRT issues"
This reverts commit b2b2903a6e.
* Added debug info to test, to debug on azure pipeline
* Try and fix OpenApi test
* Only run test in release
* Try fixing OpenApi.json
Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
* 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
* Use content root instead of web root for uploaded images
* Un-break a breaking change
* handle special parsing of AngularJS json response
* change htmlId selector to support html id's with numbers
* remove bad test case
* test IsFullPath without tricky UNC paths that are not useful
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
(cherry picked from commit d18dc92137)
* Use ContentSettings instead of SecuritySettings for AllowEditInvariantFromNonDefault
* Make it backwards compatible
(cherry picked from commit 3846c75cc6)
* Add initial implementation using 1 controller pr. action
* Add OpenApiTag attribute
Otherwise the endpoints won't be grouped correctly
* Use correct response type
* Move ApiVersion to endpoint controllers
* Add ServerController suffix to endpoint controllers
(cherry picked from commit 9cf7e965a9)
* Introduce opt-in option for reusable data editors
* Verified RTE as reusable
* Make attribute property naming more explicit + update comments
* Test file upload and image cropper
* Add unit tests
(cherry picked from commit 44122c6509)
* change "umbraco" to "Umbraco" in translation files.
* Replace "<i>" and "<b>" tag with "<em>" and "<strong>"
(cherry picked from commit fa8bb3f1da)
(cherry picked from commit de0294d163)
* 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
* Use content root instead of web root for uploaded images
* Un-break a breaking change
* handle special parsing of AngularJS json response
* change htmlId selector to support html id's with numbers
* remove bad test case
* test IsFullPath without tricky UNC paths that are not useful
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
* v10/feature/skip-move-logic: add logic to skip move logic when parentId would be the same as before
* v10/feature/skip-move-logic: remove unnecessary checks
* remove check for mediaservice as there is already one in place
* remove unnecessary using
* added parent checks for dictionary items
* changing behaviour for contenttypes, datatypes and mediatypes to show errors on move
* Use SVG logo in upgrader
* Adjust logo in app header and boot failed as well
* Remove width and height from CSS
* Update sizes
* Set image size
* Disable draggable of logo
* Add initial implementation using 1 controller pr. action
* Add OpenApiTag attribute
Otherwise the endpoints won't be grouped correctly
* Use correct response type
* Move ApiVersion to endpoint controllers
* Add ServerController suffix to endpoint controllers
* Introduce opt-in option for reusable data editors
* Verified RTE as reusable
* Make attribute property naming more explicit + update comments
* Test file upload and image cropper
* Add unit tests
* Add new BackOfficeApi project
* Add swagger
* Add and route new install controller
* Add new install steps
* Add Setup endpoint
* Add missing RequiresExecution methods
* Fix nullability of databasemodel
* Move user information to separate model
* Remove ping method
* Add view models install data
* Move mapping folder
* Move ViewModels
* Add settings endpoint
* Remove unused binderprovider
* Postfix RequiresExecution with async
* Update NewDatabaseUpgradeStep to not depend on install step
* Add installstep collection
* Move registration into backoffice project
* Add InstallService
* Use service in controller
* Add upgrade to install service and use in controller
* Correctly check is database is configured
* Reorganize
* Reorganize into new core and infrastructure
* Rename steps
* Rename BackofficeApi to MangementApi
* Make install step an interface instead of abstract class
* Rename InstallStep to create CreateUserStep
* Move restart runtime and sign in user into install steps
* Move install service into new core project
* Map controllers in composer
* Restrict access to installcontroller based on runtime level
* Use FireAndForget when logging install
* Use actionresult instead of iactionresult
* Set new projects as not packable
* Link to backoffice in 201 response when installed
* Register installations
* Add custom backoffice routing template token
* Move umbraco path trimming out of application convention
* Make it easier to route to backoffice api
* Make swagger version aware and move behind backoffice path
* Obsolete old install classes
* Move maps into single file
This is all mappint to/from viewmodels in some manner
* Remove usage of InstallSetupResult
* Move new projects to the src folder
* Remove InstallationType from IInstallStep
This upgrade steps should implement their own IUpgradeStep interface
* Remove upgrade from service and controller
This should be its own service and controller
* Add xml docs
* Remove internals visible to
* Disable package validation for new projects
Quite the gotcha here, if the projects are brand new, there is no nuget packages to compare with, this causes the build to fail.
* Add ValidateDatabase endpoint
* Remove project references to new backoffice
We don't actually want to depend on this yet, it's just needed for testing/development
* Obsolete installationtype
* Add DatabaseSettingsFactory tests
* Add InstallServiceTests
* Fix InstallServiceTests
* Test RequireRuntimeLevelAttribute
* Implement new backoffice upgrader (#12818)
* Add UpgradeSettingsModel and viewmodel
* Add upgrade/settings endpoint
* Implement upgrade steps
* Add upgrade step collection
* Add UpgradeService
* Add authorize endpoint to UpgradeController
* Fix interface
* Add upgrade service tests
* Remove runtime check in databaseinstallstep
* Move RequireRuntimeLevel to controller
* Add a readme to the new backoffice part
* BackOffice not Backoffice
* Add conditional project references
* Fixes based on review
* Fix up
* Move running of steps into its own method in UpgradeService
* Make services transient
* More fixup
* Log exceptions when running steps
* mark ncNodeName as stateful allowing it to update the node name asynchronously and implement several checks for caching and fallthroughs
* ensure that the blocklist block component watches and updates stuff on the blockObject
* add $interpolate to the blockList Property Editor to interpolate the label with the saved state
* replace static label with the blockHtmlCompile directive to ensure labels are updated dynamically
* add failsafe in case block is not instantiated
* replace manual udi separation with the parse function from the udiParser service
* simplify watching, to avoid overwritting data object.
* virtual block label rendering
* destroy label scope
* add extra information for label doc
* revert previously used functions and add deprecation notices to them
* remove getBlockLabel, as it's not being used or publicly available.
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
* Fix leak for PublicAccessEntry
* Fix memory leak for PropertyTypeCollection
* Don't clone the lazy property group ID when caching property types, it is explicitly assigned at runtime
(cherry picked from commit 10b8f63052)
* Fix leak for PublicAccessEntry
* Fix memory leak for PropertyTypeCollection
* Don't clone the lazy property group ID when caching property types, it is explicitly assigned at runtime
They are located in Umbraco:CMS:Security and are read from that location.
Setting any values in Umbraco:CMS does not actually work but
intellisense shows up so the user thinks it will work.
* Remove null check from MapperContext.SetCulture and .SetSegment
We need to be able to set these to null, since null = invariant / default segment
* show segment label on property
* Add ContentVariation to ContentPropertyDisplay
* Add ContentVariation to DocumentTypeDisplay
* Change variations to be on ContentTypeBasic.cs
* don't cache value
* show correct label and unlock text for culture and segment variations
* make lock overlay take up less space
Co-authored-by: nikolajlauridsen <nikolajlauridsen@protonmail.ch>
Co-authored-by: Zeegaan <nge@umbraco.dk>
* Remove null check from MapperContext.SetCulture and .SetSegment
We need to be able to set these to null, since null = invariant / default segment
* show segment label on property
* Add ContentVariation to ContentPropertyDisplay
* Add ContentVariation to DocumentTypeDisplay
* Change variations to be on ContentTypeBasic.cs
* don't cache value
* show correct label and unlock text for culture and segment variations
* make lock overlay take up less space
Co-authored-by: nikolajlauridsen <nikolajlauridsen@protonmail.ch>
Co-authored-by: Zeegaan <nge@umbraco.dk>
* Remove null check from MapperContext.SetCulture and .SetSegment
We need to be able to set these to null, since null = invariant / default segment
* show segment label on property
* Add ContentVariation to ContentPropertyDisplay
* Add ContentVariation to DocumentTypeDisplay
* Change variations to be on ContentTypeBasic.cs
* don't cache value
* show correct label and unlock text for culture and segment variations
* make lock overlay take up less space
Co-authored-by: nikolajlauridsen <nikolajlauridsen@protonmail.ch>
Co-authored-by: Zeegaan <nge@umbraco.dk>
* Remove SQL Server part of the CodeSpace - we have SQLite to use
* Update to use .NET 6 and simplified docker stuff
https://github.com/microsoft/vscode-dev-containers/
* Need to set the SQLite Connection string env variable
* Path to SLN has changed to the root of the repo
* Fix up launch and VSCode tasks
* Update projects to .NET 7
* Fix nullability errors
* Fix up pipelines to run 7.0
* Update langversion to preview
* Revert "Fix up pipelines to run 7.0"
This reverts commit d0fa8d01b8.
* Fix up pipelines again, this time without indentation changes
* Include preview versions
* Versions not Version
* Fix ModelTypeTests
* Fix MemberPasswordHasherTests
Microsoft wants to use SHA512 instead of SHA256, so our old hashes will return SuccessRehashNeeded now
* Use dotnet cli instead of nuget restore
* Update src/Umbraco.Web.UI/Umbraco.Web.UI.csproj
* Update dependencies
* Fix nullability issues
* Fix unit test
* Fix nullability in ChangingPasswordModel
OldPassword can be null, if we're changing the password with password reset enabled. Additionally, we might as well use the new required keyword instead of supressing null.
* Use required keyword instead of supressing null
* Fix up pipelines again
* fix up spelling-error
* Use dotnet cli instead of nuget restore
* Fix up another NuGet command
* Use dotnet version 7 before building
* Include preview versions
* Remove condition
* Use dotnet 7 before running powershell script
* Update templates to .net 7
* Download version 7 before running linux container
* Move use dotnet 7 even earlier in E2E process
* Remove dotnet 7
* Reintroduce .NET 7 task
* Update linux docker container and remove dotnet 7 from yml
* Fix up dockerfile with ARG
* Fix up docker file with nightly builds of dotnet 7
* Reintroduce dotnet 7 so windows can use it
* Use aspnet 7 in docker
Co-authored-by: Nikolaj <nikolajlauridsen@protonmail.ch>
Co-authored-by: Zeegaan <nge@umbraco.dk>
* Fixes to modal and group headings
* updated modal headings for h1 and h2
* Updated line-height
Changed line-height: 0 to line-height: 1.3 and added margin: 0
Co-authored-by: Tiffany Prosser <tiffany.prosser1@gmail.com>
* Fixes to modal and group headings
* updated modal headings for h1 and h2
* Updated line-height
Changed line-height: 0 to line-height: 1.3 and added margin: 0
Co-authored-by: Tiffany Prosser <tiffany.prosser1@gmail.com>
* add the Umbraco.Cms.StaticAssets folder to ignored paths for the codeql scanner
* exclude only the 'wwwroot' folder since other assets could be valid to scan
* Fixes to modal and group headings
* updated modal headings for h1 and h2
* Updated line-height
Changed line-height: 0 to line-height: 1.3 and added margin: 0
* Makes active pip text darker to contrast with non-active pips
* Adds active class to slider component and updates functionality to accommodate multiple pips
* Update umbrangeslider.directive.js
* Adds click handler,accommodates decimal values and moves styles to single file
* Remove docs folder
* Re-add docfx files
I think it makes sense to have these in the solution, however it's a build concern really, not a documentation in the sense that you'll learn anything from it.
* Remove build.ps1 scripts - it's not a thing in v10
* Add version.json to the solution file
* Adds the package version from Package Manifest - (JSON or ManifestFilter C#)
Used to see what version of a package installed & make package devs aware that they can set this, as we use this in the package telemetry service
* Prefix with word Version for cases where 'Unknown' is displayed
* Refactors the logic for calculating the first run time for a recurring task for easier re-use by similar hostservices.
* Renamed method to match wider usage.
* Fix some XML docs
* Re add unused using in SqlSyntaxProviderBase to magically fix docfx
I have no idea why this works, but it does
* Fix nullref exception
* remove absolute-center class from installer and replace with css grid
* replace tooltips for telemetry with columns and a direct view of what eact telemetry level means
* ensure that inputs will out entire columns and that buttons are aligned as the rest of the system with the CTA on the right side
* update buttons on the database screen to match the user screen
* set min-width on installer for views with only text content
* add border to preconfigured database field
* remove extra headline from telemetry data info text
* change telemetry info text to 'small'
* remove opacity for database settings
* update wording of intro text to the installer
* add unordered list to the detailed telemetry description
* add helper text to indicate that telemetry can be changed later
* change wording from 'analytics' to 'telemetry data'
* add smooth-steps-tap to noUiSlider for telemetry data
* add short text explaining what telemetry is to the installer
* Prevent asterix having its own line
With certain label lengths the * would end up on its own line
Adjusting width of group builder labels / descriptions to be in line with the width of the content labels
Adjusting the margins / padding which looked out of place
* Single line html
Change html to be on one line due to white-space css properties requiring such
* Label on top
Fix the width of labels when the label is on top
* Add spacing
Add spacing to control groups to account for the removed padding from labels
* Labels on tablet
Fix label width on tablet screen size
* Check if content has an identity before attempting to get it's ancestors
* Check if we even need to go to the parent
* Fail earlier
* Update src/Umbraco.Web.BackOffice/Controllers/ContentController.cs
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
* Check if content has an identity before attempting to get it's ancestors
* Check if we even need to go to the parent
* Fail earlier
* Update src/Umbraco.Web.BackOffice/Controllers/ContentController.cs
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
* Fix previous conversion of SearchAll to async ignoring the SortOrder value from SearchableTree
* small refactoring
Co-authored-by: Paul Woodland <paul.woodland@pwnewmedia.com>
Co-authored-by: Michael <michael@crossingpaths.be>
* #umbraco12400 fixing StripHtmlTagsMethod by adding Regex
* changing logic by removing .FirstChild calls
* fixing line endings
* final fix
* removing unused using
Co-authored-by: Michael Reiter <michale.reiter@cyber-solutions.at>
Co-authored-by: Michael Reiter <michael.reiter@metro-external.digital>
* Added secure to the UMB-XSRF-V cookie when global https is true.
* Issue 12551 search bug
Previous optimisation incorrectly filtered the index fields needed to return published results
* Update MemberRepository.cs (#12641)
Ensuring that MemberManager.ConfirmEmailAsync persists, same changes in pull request #12640 but for v9
* Fixed Group Headings in Content
Co-authored-by: Corey Philipp <CPhilipp@dewpoint.com>
Co-authored-by: Matthew Care <matty_care@hotmail.co.uk>
Co-authored-by: gilbertaoe <gilbertaoe@hotmail.com>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
Co-authored-by: Sebastiaan Janssen <sebastiaan@umbraco.com>
* Added secure to the UMB-XSRF-V cookie when global https is true.
* Issue 12551 search bug
Previous optimisation incorrectly filtered the index fields needed to return published results
* Update MemberRepository.cs (#12641)
Ensuring that MemberManager.ConfirmEmailAsync persists, same changes in pull request #12640 but for v9
* Initial Commit
Amended tree root to be h1 (previously was h5) and amended contextual modal header to be h2 (previously was h1)
Co-authored-by: Corey Philipp <CPhilipp@dewpoint.com>
Co-authored-by: Matthew Care <matty_care@hotmail.co.uk>
Co-authored-by: gilbertaoe <gilbertaoe@hotmail.com>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
Co-authored-by: Sebastiaan Janssen <sebastiaan@umbraco.com>
* Tweaks the composition dialog in the content type editor
- removes the search field if no content types is available
- change the styling on the info text regarding missing content types
- moves the search field closer to the content type list
* fixes filter - needed vm binding, probably due to introducing ng-if and related scope trickery
tweaked css on checkbox list icon to improve alignment
Co-authored-by: Nathan Woulfe <nathan@nathanw.com.au>
* Don't allocate new object array instances when indexing
There's no reason to allocate new object[] array instances for each ValueSet created for the "y" or "n" values going into the index. This just creates a single object[] for each "y" or "n" value which will save on a ton of allocations when re indexing a bunch of content.
There's an easy way to make further allocation reductions too (prob a separate PR) since there is no reason to create new object[] allocations for: CreatorId, WriterId, Level, TemplateId, Culture. Each of these can be returned from a concurrent dictionary since these values are finite and there won't be too many of each so we can just keep an internal dictionary of these object[] instances.
* fixes mistake
* Updates NoValue and YesValue field declarations - was blowing up
Co-authored-by: Nathan Woulfe <nathan@nathanw.com.au>
* Use OEmbedProviderBase
* Use QueryHelpers.AddQueryString in .NET Core
* Nullable value
* Cleanup usings
* Ensure invariant string
* No need to URL encode when using QueryHelpers.AddQueryString()
* Include WebUtilities
* Cleanup usings
* Revert "Include WebUtilities"
This reverts commit 3cffb740ce.
* Revert "No need to URL encode when using QueryHelpers.AddQueryString()"
This reverts commit 70ca5306ac.
* Revert "Ensure invariant string"
This reverts commit 318ab23f6f.
* Revert "Nullable value"
This reverts commit c39911de06.
* Revert to StringBuilder
* Cleanup usings
* Add more descriptions of providers
* Removed mention of Umbraco.tv from the Members Dashboard
* Add new key to en.xml
* Update membersdashboardvideos.html
* Update label used in members dashboard.
* Publish invariants from non default
* Add culture impact service
* Use the new culture impact service instead of newing up culture impacts
* Only publish invariant properties on non-defaults with invariant culture
Essentially we want to be able to fall back to the default culture for the variant properties if a document type is made invariant, not whatever culture was published last.
* Move creation logic into the service
* Make creation method names consistent
* Fix tests
We compare the cultures directly, so they have to be the same object instance unfortunately
* Add test for the new setting
* Add new config to server variables
* Fix test setup
* Apply suggestions from code review
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
> 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.
script:'npm run test -- --reporter junit --reporter-options "mochaFile=results/test-output-D-[hash].xml,toConsole=true" --config="viewportHeight=1600,viewportWidth=2560,screenshotsFolder=cypress/artifacts/desktop/screenshots,videosFolder=cypress/artifacts/desktop/videos,videoUploadOnPasses=false"'
Detail="The provided searcher name did not match any of our registered searchers",
Status=StatusCodes.Status404NotFound,
Type="Error",
};
returnNotFound(invalidModelProblem);
}
ISearchResultsresults;
// NativeQuery will work for a single word/phrase too (but depends on the implementation) the lucene one will work.
try
{
results=searcher
.CreateQuery()
.NativeQuery(query)
.Execute(QueryOptions.SkipTake(skip,take));
}
catch(ParseException)
{
varinvalidModelProblem=newProblemDetails
{
Title="Could not parse the query",
Detail="Parser could not parse the query. Please double check if the query is valid. Sometimes this can also happen if your query starts with a wildcard (*)",
ModelState.AddModelError("FallbackLanguage",$"The selected fall back language {_localizationService.GetLanguageById(existingById.FallbackLanguageId!.Value)} would create a circular path.");
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.