diff --git a/src/Umbraco.Core/CodeAnnotations/UmbracoDeprecateAttribute.cs b/src/Umbraco.Core/CodeAnnotations/UmbracoDeprecateAttribute.cs
deleted file mode 100644
index 87efb6536a..0000000000
--- a/src/Umbraco.Core/CodeAnnotations/UmbracoDeprecateAttribute.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-namespace Umbraco.Core.CodeAnnotations
-{
-
- ///
- /// An attribute used to decorate classes or methods that have been marked to be obsoleted
- ///
- ///
- /// This attribute exists because sometimes we may not want to explicitly [Obsolete] a class or method because we
- /// know it is still in use and we don't want warning messages showing up in developers output windows when they compile, however
- /// we will be able to produce reports declaring which classes/methods/etc... have been marked for being obsoleted in the near future
- ///
- internal class UmbracoDeprecateAttribute : Attribute
- {
- ///
- /// Constructor requries a description
- ///
- ///
- public UmbracoDeprecateAttribute(string description)
- {
-
- }
- }
-}
diff --git a/src/Umbraco.Core/CodeAnnotations/UmbracoExperimentalFeatureAttribute.cs b/src/Umbraco.Core/CodeAnnotations/UmbracoExperimentalFeatureAttribute.cs
index c2248a80ec..568561c078 100644
--- a/src/Umbraco.Core/CodeAnnotations/UmbracoExperimentalFeatureAttribute.cs
+++ b/src/Umbraco.Core/CodeAnnotations/UmbracoExperimentalFeatureAttribute.cs
@@ -3,16 +3,30 @@ using System;
namespace Umbraco.Core.CodeAnnotations
{
///
- /// An attribute used to decorate classes or methods that have been marked to become public but require more testing and review
- /// before this is possible.
+ /// Marks the program elements that Umbraco is experimenting with and could become public.
///
- internal class UmbracoExperimentalFeatureAttribute : Attribute
+ ///
+ /// Indicates that Umbraco is experimenting with code that potentially could become
+ /// public, but we're not sure, and the code is not stable and can be refactored at any time.
+ /// The issue tracker should contain more details, discussion, and planning.
+ ///
+ [AttributeUsage(AttributeTargets.All, AllowMultiple = false, Inherited = false)]
+ internal sealed class UmbracoExperimentalFeatureAttribute : Attribute
{
///
- /// constructor requires a tracker url and a description
+ /// Initializes a new instance of the class with a description.
///
- ///
- ///
+ /// The text string that describes what is intended.
+ public UmbracoExperimentalFeatureAttribute(string description)
+ {
+
+ }
+
+ ///
+ /// Initializes a new instance of the class with a tracker url and a description.
+ ///
+ /// The url of a tracker issue containing more details, discussion, and planning.
+ /// The text string that describes what is intended.
public UmbracoExperimentalFeatureAttribute(string trackerUrl, string description)
{
diff --git a/src/Umbraco.Core/CodeAnnotations/UmbracoProposedPublicAttribute.cs b/src/Umbraco.Core/CodeAnnotations/UmbracoProposedPublicAttribute.cs
index 60baf69faa..b34726960d 100644
--- a/src/Umbraco.Core/CodeAnnotations/UmbracoProposedPublicAttribute.cs
+++ b/src/Umbraco.Core/CodeAnnotations/UmbracoProposedPublicAttribute.cs
@@ -3,20 +3,31 @@ using System;
namespace Umbraco.Core.CodeAnnotations
{
///
- /// An attribute used to decorate classes or methods that have potential to become part of the public API
+ /// Marks the program elements that Umbraco is considering making public.
///
///
- /// Classes, properties or methods marked with this attribute will have a tracker URL assigned where discussions may take place
- /// regarding whether or not this should become part of the public APIs and if/when. Please note that any objects marked with this
- /// attribute may not ever become public, this attribute exists to tag code that has potential to become public pending reviews.
+ /// Indicates that Umbraco considers making the (currently internal) program element public
+ /// at some point in the future, but the decision is not fully made yet and is still pending reviews.
+ /// Note that it is not a commitment to make the program element public. It may not ever become public.
+ /// The issue tracker should contain more details, discussion, and planning.
///
- internal class UmbracoProposedPublicAttribute : Attribute
+ [AttributeUsage(AttributeTargets.All, AllowMultiple=false, Inherited=false)]
+ internal sealed class UmbracoProposedPublicAttribute : Attribute
{
///
- /// constructor requires a tracker url and a description
+ /// Initializes a new instance of the class with a description.
///
- ///
- ///
+ /// The text string that describes what is intended.
+ public UmbracoProposedPublicAttribute(string description)
+ {
+
+ }
+
+ ///
+ /// Initializes a new instance of the class with a tracker url and a description.
+ ///
+ /// The url of a tracker issue containing more details, discussion, and planning.
+ /// The text string that describes what is intended.
public UmbracoProposedPublicAttribute(string trackerUrl, string description)
{
diff --git a/src/Umbraco.Core/CodeAnnotations/UmbracoWillObsoleteAttribute.cs b/src/Umbraco.Core/CodeAnnotations/UmbracoWillObsoleteAttribute.cs
new file mode 100644
index 0000000000..745d74bb50
--- /dev/null
+++ b/src/Umbraco.Core/CodeAnnotations/UmbracoWillObsoleteAttribute.cs
@@ -0,0 +1,37 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace Umbraco.Core.CodeAnnotations
+{
+ ///
+ /// Marks the program elements that Umbraco will obsolete.
+ ///
+ ///
+ /// Indicates that Umbraco will obsolete the program element at some point in the future, but we do not want to
+ /// explicitely mark it [Obsolete] yet to avoid warning messages showing when developers compile Umbraco.
+ ///
+ [AttributeUsage(AttributeTargets.All, AllowMultiple = false, Inherited = false)]
+ internal sealed class UmbracoWillObsoleteAttribute : Attribute
+ {
+ ///
+ /// Initializes a new instance of the class with a description.
+ ///
+ /// The text string that describes what is intended.
+ public UmbracoWillObsoleteAttribute(string description)
+ {
+
+ }
+
+ ///
+ /// Initializes a new instance of the class with a tracker url and a description.
+ ///
+ /// The url of a tracker issue containing more details, discussion, and planning.
+ /// The text string that describes what is intended.
+ public UmbracoWillObsoleteAttribute(string trackerUrl, string description)
+ {
+
+ }
+ }
+}
diff --git a/src/Umbraco.Core/Umbraco.Core.csproj b/src/Umbraco.Core/Umbraco.Core.csproj
index 1f7e785ef4..7509049668 100644
--- a/src/Umbraco.Core/Umbraco.Core.csproj
+++ b/src/Umbraco.Core/Umbraco.Core.csproj
@@ -54,7 +54,7 @@
-
+
diff --git a/src/Umbraco.Web/IPublishedContentStore.cs b/src/Umbraco.Web/IPublishedContentStore.cs
index b760fe5a0d..411657e8b3 100644
--- a/src/Umbraco.Web/IPublishedContentStore.cs
+++ b/src/Umbraco.Web/IPublishedContentStore.cs
@@ -6,7 +6,7 @@ namespace Umbraco.Web
///
/// Defines the methods to access published content
///
- [UmbracoExperimentalFeature("http://issues.umbraco.org/issue/U4-1153", "This should become public one day but we need to create something like the IPublishListener interface to have proper published content storage. We'll also need to publicize the resolveres so people can set a resolver at app startup.")]
+ [UmbracoExperimentalFeature("http://issues.umbraco.org/issue/U4-1153", "We need to create something like the IPublishListener interface to have proper published content storage. We'll also need to publicize the resolvers so people can set a resolver at app startup.")]
internal interface IPublishedContentStore : IPublishedStore
{
IPublishedContent GetDocumentByRoute(UmbracoContext umbracoContext, string route, bool? hideTopLevelNode = null);
diff --git a/src/Umbraco.Web/IPublishedMediaStore.cs b/src/Umbraco.Web/IPublishedMediaStore.cs
index b114665f3f..2e58ebc2ce 100644
--- a/src/Umbraco.Web/IPublishedMediaStore.cs
+++ b/src/Umbraco.Web/IPublishedMediaStore.cs
@@ -5,7 +5,7 @@ namespace Umbraco.Web
///
/// Defines the methods to access published media
///
- [UmbracoExperimentalFeature("http://issues.umbraco.org/issue/U4-1153", "This should become public one day but we need to create something like the IPublishListener interface to have proper published content storage. We'll also need to publicize the resolveres so people can set a resolver at app startup.")]
+ [UmbracoExperimentalFeature("http://issues.umbraco.org/issue/U4-1153", "We need to create something like the IPublishListener interface to have proper published content storage. We'll also need to publicize the resolvers so people can set a resolver at app startup.")]
internal interface IPublishedMediaStore : IPublishedStore
{
}
diff --git a/src/Umbraco.Web/IPublishedStore.cs b/src/Umbraco.Web/IPublishedStore.cs
index ea72df675a..c67dac680c 100644
--- a/src/Umbraco.Web/IPublishedStore.cs
+++ b/src/Umbraco.Web/IPublishedStore.cs
@@ -7,7 +7,7 @@ namespace Umbraco.Web
///
/// Defines the methods for published documents
///
- [UmbracoExperimentalFeature("http://issues.umbraco.org/issue/U4-1153", "This should become public one day but we need to create something like the IPublishListener interface to have proper published content storage. We'll also need to publicize the resolveres so people can set a resolver at app startup.")]
+ [UmbracoExperimentalFeature("http://issues.umbraco.org/issue/U4-1153", "We need to create something like the IPublishListener interface to have proper published content storage. We'll also need to publicize the resolvers so people can set a resolver at app startup.")]
internal interface IPublishedStore
{
IPublishedContent GetDocumentById(UmbracoContext umbracoContext, int nodeId);