After you deploy MOSS, if the user tries to click on the ‘My Settings’, he will be taken to a page where he will not be able to update anything!!! Enough articles are there in the web why it is so. My objective here is to remove that link and add a new one which points to the ‘EditProfile.aspx’ page which can be used to update the profile.
Note: If the user gets a ‘Access denied’ message when he tries to access the page, make sure he has ‘Manage User Profiles’ permission in the
Admin Site –> Shared Service Provider –> User Profiles and My Sites –> Personalization services permissions

Now to remove the ‘My Settings’ link, do the following.
http://blogs.pointbridge.com/Blogs/ajgaonkar_amol/Pages/Post.aspx?_ID=6
Adding a new link ‘My Profile’
To add a new item in the ‘Welcome’ menu, we need to create and deploy a feature.
- Go to <Program Files>\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\FEATURES
- Create a new folder ‘UpdateMyProfile’
- Under this folder create a file ‘feature.xml’ and paste the following code in this file.
<?xml version="1.0" encoding="utf-8"?>
<Feature Id="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
Title="My Profile"
Description=""
Version="1.0.0.0"
Scope="Site"
xmlns="http://schemas.microsoft.com/sharepoint/">
<ElementManifests>
<ElementManifest Location="elements.xml"/>
</ElementManifests>
</Feature>
Note: the ‘Feature Id’ should be replaced by a new GUID. You can use the http://www.guidgenerator.com/online-guid-generator.aspx site to create a new GUID.
- Create another file called ‘elements.xml’ and paste the following code.
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<CustomAction Id="PersonalActionsMenu_MyProfile"
GroupId="PersonalActions"
Location="Microsoft.SharePoint.StandardMenu"
Sequence="101"
Title="My Profile"
Description="Update your user information"
ImageUrl="/_layouts/images/menuprofile.gif">
<UrlAction Url="/_layouts/editprofile.aspx"/>
</CustomAction>
</Elements>
- Now install this feature to the farm using the stsadm command.
stsadm -o installfeature -name UpdateMyProfile
- Now activate this feature to the site using the stsadm command.
stsadm -o activatefeature -name UpdateMyProfile –url http://intranet.yoursite.com
Now if you login to your site, you should be able to see a new ‘My Profile’ link under the ‘Welcome’ menu!!
We had the requirement of giving a simple landing page to users which they come modify using the browser. For that purpose we created a page with a content editor web part (quite simple!).
However, what we didn’t want the users to do is to add new parts to the page or modify anything else. I played around with the site permissions, custom site permission and so on without any help.
The solution?
Use the SharePoint Designer, open the page and right click on the content editor web part and select “Web Part Zone Properties”.

In this, un-tick the first two checkboxes and check only “Allow users to change web part settings for all users”.
Now the user when opens the Content Editor web part drop down in the page, he will see the “Add New Web Part” hyperlink.
If you have configured your BDC and if the above error is shown in Event Viewer, check the following link:
http://gpeiris.blogspot.com/2007/07/login-failed-for-user-nt.html
Suddenly, I had this strange problem. When one of my colleagues started Word 2007, it would say ‘Word has stopped responding’. Afterwards, it will try to open in safe mode, do repair, etc. without any help. I even tried re-installing the entire suite with no luck.
The next thing I tried was to login as a different user and try opening…whoa…it was working without any problem. So I figured out it had to do something with the user’s setting.
After some research on google, I found out lot of posts relating to deleting the ‘Data’ key entry in the HKEY_CURRENTUSER in registry. I finally thought I had the answer. Unfortunately it also didn’t work.
Then I remembered that even I had a problem with my Xerox printer driver in my Vista machine though I had no problems with Word except when I print. If I select this Xerox machine, (its a 8560DN), Word will crash, it was solved by installing a new driver. However, this re-surfaced again after some Microsoft auto-update. I had to remove the printer and add it again.
Now, this was my last hope. I went to the printers folder, and to my relief, I found that this printer was set as the default. I deleted this printer and started Word 2007. WHOA!!! it started……WOW!
Interesting to note that most of the common formulae which works in Excel works in the calculated columns also.
For substrings, you could use functions like LEFT, RIGHT, MID and LEN
If you have followed the Microsoft Lease privilege account practices, when you try to enable the Publishing Features, you will encounter the ‘Access denied’ error.
The solution to this is to
- Go to IIS
- Change the Application Pool for your web application and make it same as that of the Central Admin
- Enable the Publishing Feature
- Change the application pool back to the original.
I had this typical situation where I had to embed a totally different site into a SharePoint page. This is the way I did it using SharePoint designer.
1. Open the site in SharePoint designer.
2. Create a new page using ‘File->New->ASPX’.
3. Attach the master page using Format -> Attach Master Page. (I use the minimal master page since I had to fully customize the layout).
4. Put the “iframe” tag inside the <asp:content PlaceHolderMain>
5. Write a small javascript for resizing and call this using the “_spBodyOnLoadFunctionNames” function.
5. My page source would look like this.
<asp:Content id="Content1" runat="Server" contentplaceholderid="PlaceHolderMain">
<SharePoint:ScriptLink language="javascript" name="core.js" runat="server"/>
<iframe name="I1" id="I1" frameborder="0" bordercolor="#FFFFFF" marginheight="0" marginwidth="0"
scrolling="no">
Your browser does not support inline frames or is currently configured not to display inline frames.
</iframe>
</asp:Content>
<asp:Content id="Content2" runat="server" contentplaceholderid="head">
<title>Viw Flight details</title>
<script type="text/javascript">
function resizeFrame()
{
var fr = document.getElementById("I1");
if (fr == null) return;
var str = window.location + "";
fr.width = screen.availWidth - 100;
fr.height = screen.availHeight - 100;
var iPos = str.indexOf("myquerystring");
//alert(iPos);
var subs = str.substring(iPos, str.length);
fr.src = "https://www.somesite.com/parameter?" + subs;
//window.open(fr.src);
}
_spBodyOnLoadFunctionNames.push("resizeFrame");
</script>
</asp:Content>
The SharePoint designer always works with Windows authentication mode only. So, if you have converted your site to use forms authentication, you will not be able to open in the designer.
Hence, even if you are going to have an Internet facing site, the best practice would always be to have your default zone site with windows authentication and extend this for the Internet zone.
Steps to do this is available all around the place, check this for a start.
http://technet.microsoft.com/en-us/library/cc262668(TechNet.10).aspx
If you’ve done a backup & restore of a single site (using either stsadm import or SharePoint designer) which has customized XSLT dataviews, you will get the error "Unable to display this Web Part. To troubleshoot the problem, open this Web page in a Windows SharePoint Services-compatible HTML editor such as Microsoft Office SharePoint Designer. If the problem persists, contact your Web server administrator".
The problem here is that, when you convert a webpart to a XSLT dataview, it creates a datasource in the background which points to the list used. The reference to the datasource is given using the ‘GUID’ of the list. So, when we do a backup/restore, the new list created will have a GUID different from that of the original list. However, the restore does not update the original links with the new GUID. Hence, the View is unable to fetch data from the datasource.
To resolve this issue, you have to open the page (which displays the view) in SharePoint designer and do a ‘Search/Replace’ of the original list id with the new list id.
You can use my small utility (SharePointTools) mentioned in the ‘Absolute path information‘ post below to get the GUIDs for all the lists in the site.