* 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>
* 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)
* Moved to centralized nuget packages
* Handle JsonSchema
* Change PackageReference to PackageVersion
* Opt out of central package management for mangement api (at least for versions less than 14) and the UI project
* ManagePackageVersionsCentrally = false
* Change folder acceptance tests are build, to avoid reading the test Directory.Packages.props
* Change folder acceptance tests are build, to avoid reading the test Directory.Packages.props
* change working directory
* workingDirectory
* Force the template to use local nuget packages
* Force the template to use local nuget packages
* clean up
* added wait on
* added wait on
* 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>
* 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>
* 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
(cherry picked from commit 41f8f03c2c)
* 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 0d5a57956b36e94ce951f1dad7a7f3f43eb1f60b.
* 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>
* 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)
* 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
* 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
* 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 283e8aa473fdfde075197d34aa47e35dfc64a8ae.
---------
Co-authored-by: kjac <kja@umbraco.dk>
* 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>