How to disable the MySite and MyLinks in SharePoint and MOSS

I was struggling with this problem, but I did found that Michael Van Cleave had the solution.


Here’s the quote from his page:

Go to the Central Administration Web Page
Click on the link for Shared Services Administration
     –If you have more than one SSP, select the one that is running the MySites functionality
Under "User Profiles and My Sites" click Personalization Services Permissions

Select the group you want to limit the functionality for.  More than likely you will just have NTAuthority\Authenticated Users.

In the next screen you will see a list of checkboxes,
     –To disable MySites uncheck "Create Personal Site"
     –To disable MyLinks uncheck "Use Personal Features"


.NET naming Conventions

I found this great .NET Naming Convention guide from Josh Twist at The Joy Of Code.

Reading it, I decided to put it up here, since it is so great, and it’s the naming convention that I follow myself.

using System;

// Namespaces are PascalCased
namespace TheJoyOfCode.NamingConventions
    // Class names are PascalCased
    public class ExampleClass
        // All public fields, including constants are PascalCased
        public static const string PiAsAString = "3.14";

        // All private fields are camelCased with an underscore [1]
        private readonly string _privateMember;

        // All protected members are PascalCased
        protected int ProtectedField = 12;

        // All internal members are PascalCased
        internal int InternalField = 13;

        // All private methods are PascalCased
        // *** NOTE – All parameters are camelCased
        private double Multiply(double valueA, double valueB)
            // local variables (scoped within a method) are camelCased (no underscore)
            double result = valueA * valueB;
            return result;

        // All private Properties are PascalCased
        // *** NOTE – Acronyms of 2 characters are UPPERCASED (e.g. UI, IO)
        private string UIElementName { get; }

        // All (public and private) properties are PascalCased
        // *** NOTE – Acronyms longer than 2 characters are PascalCased (e.g. Html, Xml)
        public int HtmlLength { get; set; }

        // All public methods are PascalCased
        // *** NOTE – All parameters are camelCased
        // *** NOTE – Abbreviations are not treated as Acronyms (so _Id_entification is Id, not ID).
        private void AlignObjectById(string id, Alignment alignment)
            throw new NotImplementedException();

        // Nested classes are PascalCased, even Private ones
        private class NestedClass : IDisposable
            public void Dispose()
                throw new NotImplementedException();

    // Enums are PascalCased and not plural (unless marked [Flags] in which case the name should be plural)
    public enum Alignment
        // Enum members are PascalCased

// [1] – Note the underscore isn’t as recommended by StyleCop but since it applies only to private members, can be considered a matter of style and one that I personally use.

And, the last comment is also 100% on the spot;

…and as for #region blocks I do not use regions and I don’t negotiate with terrorists either.

How to fix the The type Microsoft.SharePoint.Portal.Analytics.UI.ReportViewerMessages does not implement IReportViewerMessages or could not be found error

The type Microsoft.SharePoint.Portal.Analytics.UI.ReportViewerMessages, Microsoft.SharePoint.Portal, Version=, Culture=neutral, PublicKeyToken=71e9bce111e9429c does not implement IReportViewerMessages or could not be found

 This nasty error message appeared when I published my Reporting Services local report to a custom Web Part.

I solved this be comment out the ReportViewerMessages line in appSettings section in the web.config

<!–  <add key="ReportViewerMessages" value="Microsoft.SharePoint.Portal.Analytics…… /> –>

So far, I haven’t seen any issues by commenting out this entry.