diff --git a/src/Umbraco.Core/Services/IContentService.cs b/src/Umbraco.Core/Services/IContentService.cs
index ad97ba2ddc..600921ee78 100644
--- a/src/Umbraco.Core/Services/IContentService.cs
+++ b/src/Umbraco.Core/Services/IContentService.cs
@@ -363,21 +363,6 @@ namespace Umbraco.Core.Services
///
PublishResult SaveAndPublish(IContent content, string[] cultures, int userId = 0, bool raiseEvents = true);
- ///
- /// Expert: Saves a document and publishes/unpublishes any pending publishing changes made to the document.
- ///
- ///
- /// Pending publishing/unpublishing changes on a document are made with calls to and
- /// .
- /// When publishing or unpublishing a single culture, or all cultures, use
- /// and . But if the flexibility to both publish and unpublish in a single operation is required
- /// then this method needs to be used in combination with and
- /// on the content itself - this prepares the content, but does not commit anything - and then, invoke
- /// to actually commit the changes to the database.
- /// The document is *always* saved, even when publishing fails.
- ///
- PublishResult CommitDocumentChanges(IContent content, int userId = 0, bool raiseEvents = true);
-
///
/// Saves and publishes a document branch.
///
diff --git a/src/Umbraco.Core/Services/Implement/ContentService.cs b/src/Umbraco.Core/Services/Implement/ContentService.cs
index 404adeea72..adc6c919f1 100644
--- a/src/Umbraco.Core/Services/Implement/ContentService.cs
+++ b/src/Umbraco.Core/Services/Implement/ContentService.cs
@@ -965,8 +965,21 @@ namespace Umbraco.Core.Services.Implement
return CommitDocumentChanges(content, userId);
}
- ///
- public PublishResult CommitDocumentChanges(IContent content, int userId = 0, bool raiseEvents = true)
+ ///
+ /// Saves a document and publishes/unpublishes any pending publishing changes made to the document.
+ ///
+ ///
+ /// This is the underlying logic for both publishing and unpublishing any document
+ /// Pending publishing/unpublishing changes on a document are made with calls to and
+ /// .
+ /// When publishing or unpublishing a single culture, or all cultures, use
+ /// and . But if the flexibility to both publish and unpublish in a single operation is required
+ /// then this method needs to be used in combination with and
+ /// on the content itself - this prepares the content, but does not commit anything - and then, invoke
+ /// to actually commit the changes to the database.
+ /// The document is *always* saved, even when publishing fails.
+ ///
+ internal PublishResult CommitDocumentChanges(IContent content, int userId = 0, bool raiseEvents = true)
{
using (var scope = ScopeProvider.CreateScope())
{
diff --git a/src/Umbraco.Tests/Services/ContentServiceTests.cs b/src/Umbraco.Tests/Services/ContentServiceTests.cs
index 3e21768f97..7dd6c7ba03 100644
--- a/src/Umbraco.Tests/Services/ContentServiceTests.cs
+++ b/src/Umbraco.Tests/Services/ContentServiceTests.cs
@@ -1035,6 +1035,8 @@ namespace Umbraco.Tests.Services
[Test]
public void Can_Publish_And_Unpublish_Cultures_In_Single_Operation()
{
+ //TODO: This is using an internal API - we aren't exposing this publicly (at least for now) but we'll keep the test around
+
var langFr = new Language("fr");
var langDa = new Language("da");
ServiceContext.LocalizationService.Save(langFr);
@@ -1049,7 +1051,7 @@ namespace Umbraco.Tests.Services
content.SetCultureName("name-da", langDa.IsoCode);
content.PublishCulture(langFr.IsoCode);
- var result = ServiceContext.ContentService.CommitDocumentChanges(content);
+ var result = ((ContentService)ServiceContext.ContentService).CommitDocumentChanges(content);
Assert.IsTrue(result.Success);
content = ServiceContext.ContentService.GetById(content.Id);
Assert.IsTrue(content.IsCulturePublished(langFr.IsoCode));
@@ -1058,7 +1060,7 @@ namespace Umbraco.Tests.Services
content.UnpublishCulture(langFr.IsoCode);
content.PublishCulture(langDa.IsoCode);
- result = ServiceContext.ContentService.CommitDocumentChanges(content);
+ result = ((ContentService)ServiceContext.ContentService).CommitDocumentChanges(content);
Assert.IsTrue(result.Success);
Assert.AreEqual(PublishResultType.SuccessMixedCulture, result.Result);
@@ -2893,8 +2895,10 @@ namespace Umbraco.Tests.Services
// act
// that HAS to be SavePublishing, because SaveAndPublish would just republish everything!
-
- contentService.CommitDocumentChanges(content);
+ //TODO: This is using an internal API - the test can't pass without this but we want to keep the test here
+ // will need stephane to have a look at this test at some stage since there is a lot of logic here that we
+ // want to keep on testing but don't need the public API to do these more complicated things.
+ ((ContentService)contentService).CommitDocumentChanges(content);
// content has been re-published,
// everything is back to what it was before being unpublished