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>
This commit is contained in:
Kenn Jacobsen
2023-11-22 12:52:08 +01:00
committed by GitHub
parent 42dd2da579
commit 012b43a1c2
41 changed files with 2017 additions and 567 deletions

View File

@@ -224,7 +224,8 @@ public class LoadTestController : Controller
_contentTypeService.Save(containerType);
var content = _contentService.Create("LoadTestContainer", -1, ContainerAlias);
_contentService.SaveAndPublish(content);
_contentService.Save(content);
_contentService.Publish(content, content.AvailableCultures.ToArray());
return ContentHtml("Installed.");
}
@@ -276,7 +277,8 @@ public class LoadTestController : Controller
var name = Guid.NewGuid().ToString("N").ToUpper() + "-" + (restart ? "R" : "X") + "-" + o;
var content = _contentService.Create(name, s_containerId, ContentAlias);
content.SetValue("origin", o);
_contentService.SaveAndPublish(content);
_contentService.Save(content);
_contentService.Publish(content, content.AvailableCultures.ToArray());
}
if (restart)