This is one of the worst problem I came across. :(
I don't blame Microsoft for this, but I can say a wrong governance model is the reason for this.
Problem: My client complaint that a new item added on the site is not comes under a search result since last few days. I spent lot of a time to find out the real cause. When I have gone through the Search Crawling log an error is found saying "The parameter is incorrect in sharepoint search". When I checked for all the other sites on the farm all are working fine with search and none of the site has given such error at the time of crawling. That has increased my curiosity.
After spending a full day at last I found a reason and its a cause for small party ;), thanks to Mattias Lindberg
Solution: The reason which stops the crawling for the site is the user we have added in the site are more than 5000 in a particular group instead of adding an AD Group.
I am just copying the workaroung given by Mattias below.
Our solution was to require sites with over 1500 members to use an AD group for keeping track of membership, as recommended by the KB for SPS 2003. One disadvantage with this approach is that you must maintain membership by updating the AD group so you can no longer request membership using SharePoint standard dialogs.
Probably an article is wriiten for SPS 2003 but infect it is applied to MOSS 2007 as well.
Sunday, May 16, 2010
Set Domains for People Picker in SharePoint
I am currently working with one of the retail client where we have one requirement as below.
Client is having 4 different domains set for their different group of companies.
1) abc, 2) def, 3) uvw and 4) xyz.
Now client doesn't want a users from domain "uvw" to search by anyone (including site admin) in people picker.
Solution:
I have found a very good article by Joel Oleson @ set propery for people picker
you can use a command as "stsadm.exe -o setproperty -url http://server:port -pn "peoplepicker-searchadforests" -pv "forest:foo.corp.com;domain:bar.foo.corp.com", LoginName, Password"
Client is having 4 different domains set for their different group of companies.
1) abc, 2) def, 3) uvw and 4) xyz.
Now client doesn't want a users from domain "uvw" to search by anyone (including site admin) in people picker.
Solution:
I have found a very good article by Joel Oleson @ set propery for people picker
you can use a command as "stsadm.exe -o setproperty -url http://server:port -pn "peoplepicker-searchadforests" -pv "forest:foo.corp.com;domain:bar.foo.corp.com", LoginName, Password"
Thursday, May 13, 2010
Charting in SharePoint using Google APIs
Charts in SharePoint using Google APIs, very good article from Alexander Bautz on EndUserSharePoint.
Preview Image on Link Mouse Hover
One of the very common requirement. And I found a very good article on EndUserSharePoint one of my favorite site for learning something new on SharePoint.
Click here to learn how implement a MouseHover on Link for Image Preview.
Click here to learn how implement a MouseHover on Link for Image Preview.
SharePoint Approval workflow restart on Edit Item
This is a very old and very common requirement. But after working on SharePoint since last 3 years this is the first time I came around with such problem and it is very surprising for me as well that why I never came across such problme in past.
1. I never came across such requirement
2. HotFix is already installed on the servers.
Problem Statement
I have one Document Library called : Company News, I have attached a sequential workflow with Approval and Publisher group with On Add and Edit items. Now whenever a new item is created in document library it starts the workflow and approver approves it.
Once approver approve the item, it goes to publisher being asequential workflow for their approver. But since publisher is also approving the item, it is still showing an item as InProgress.
Solution
Download the HotFix from http://support.microsoft.com/default.aspx?scid=kb;en-us;955586
1. I never came across such requirement
2. HotFix is already installed on the servers.
Problem Statement
I have one Document Library called : Company News, I have attached a sequential workflow with Approval and Publisher group with On Add and Edit items. Now whenever a new item is created in document library it starts the workflow and approver approves it.
Once approver approve the item, it goes to publisher being asequential workflow for their approver. But since publisher is also approving the item, it is still showing an item as InProgress.
Solution
Download the HotFix from http://support.microsoft.com/default.aspx?scid=kb;en-us;955586
Friday, May 7, 2010
Session Timeout in SharePoint
Since long I have a question that how can I implement a session time out in SharePoint sites. But i never explore as there is no such requirement in any of my project till now.
Suddenly the requirement came and we have to suggest a way to do that with the minimal efforts. And after searching on google i found this and this..., though still we haven't implemented it :(
I am giving you the easiest way directly here to implement that, edit your master page and add the below script in javascript block.
function MySiteTimeOut()
{setTimeout("SessionTimeOut()", 300000);}
function SessionTimeOut()
{document.execCommand("ClearAuthenticationCache");}
This is the same function called when you click on Sign-out in SharePoint site.
Suddenly the requirement came and we have to suggest a way to do that with the minimal efforts. And after searching on google i found this and this..., though still we haven't implemented it :(
I am giving you the easiest way directly here to implement that, edit your master page and add the below script in javascript block.
function MySiteTimeOut()
{setTimeout("SessionTimeOut()", 300000);}
function SessionTimeOut()
{document.execCommand("ClearAuthenticationCache");}
This is the same function called when you click on Sign-out in SharePoint site.
Saturday, January 9, 2010
Hide WebPart at run time
In one of my project we had a requirement to hide the WebPart based on the logged in user's department-id. We are not able to use Audiance Targeting to achieve this cuase we were getting user's department id using webservice from 3rd party system only.
What I did, I wrote my custom RSS Viwer WebPart with custom field. And Thanks to SharePoint Developer Center, I found a solution to hide the webpart at runtime very easily.
See the Code Snippet below.
protected override void OnPreRender(EventArgs e)
{
if(your condition)
HideWebParts();
}
private void HideWebParts()
{
if (this.WebPartManager.DisplayMode != System.Web.UI.WebControls.WebParts.WebPartManager.EditDisplayMode
&& this.WebPartManager.DisplayMode != System.Web.UI.WebControls.WebParts.WebPartManager.DesignDisplayMode)
{
for (int i = 0; i <>
{
if (WebPartManager.WebParts[i].Title == this.YourCustomWebPartName.Title)
{
WebPartManager.WebParts[i].AllowHide = true;
WebPartManager.WebParts[i].Hidden = true;
} } } }
What I did, I wrote my custom RSS Viwer WebPart with custom field. And Thanks to SharePoint Developer Center, I found a solution to hide the webpart at runtime very easily.
See the Code Snippet below.
protected override void OnPreRender(EventArgs e)
{
if(your condition)
HideWebParts();
}
private void HideWebParts()
{
if (this.WebPartManager.DisplayMode != System.Web.UI.WebControls.WebParts.WebPartManager.EditDisplayMode
&& this.WebPartManager.DisplayMode != System.Web.UI.WebControls.WebParts.WebPartManager.DesignDisplayMode)
{
for (int i = 0; i <>
{
if (WebPartManager.WebParts[i].Title == this.YourCustomWebPartName.Title)
{
WebPartManager.WebParts[i].AllowHide = true;
WebPartManager.WebParts[i].Hidden = true;
} } } }
Friday, December 25, 2009
Guide to Code Access Security in SharePoint Server 2007
Andrew Connell has published an article on CAS for SharPoint.
It will be very helpful for Developers. Click here to read more.
It will be very helpful for Developers. Click here to read more.
Thursday, December 17, 2009
Developing on SharePoint 2010
Getting Started
Module 1: Getting Started: Building Web Parts in SharePoint 2010
Module 2: What Developers Need to Know About SharePoint 2010
Module 3: Building Blocks for Web Part Development in SharePoint 2010
Module 4: Accessing SharePoint 2010 Data and Objects with Server-Side APIs
Module 5: Accessing SharePoint 2010 Data and Objects with Client-Side APIs
Module 6: Accessing External Data with Business Connectivity Services in SharePoint 2010
Module 7: Developing Business Processes with SharePoint 2010 Workflows
Module 8: Creating Silverlight User Interfaces for SharePoint 2010 Solutions
Module 9: Sandboxed Solutions for Web Parts in SharePoint 2010
Module 10: Creating Dialog Boxes and Ribbon Controls for SharePoint 2010
Module 1: Getting Started: Building Web Parts in SharePoint 2010
Module 2: What Developers Need to Know About SharePoint 2010
Module 3: Building Blocks for Web Part Development in SharePoint 2010
Module 4: Accessing SharePoint 2010 Data and Objects with Server-Side APIs
Module 5: Accessing SharePoint 2010 Data and Objects with Client-Side APIs
Module 6: Accessing External Data with Business Connectivity Services in SharePoint 2010
Module 7: Developing Business Processes with SharePoint 2010 Workflows
Module 8: Creating Silverlight User Interfaces for SharePoint 2010 Solutions
Module 9: Sandboxed Solutions for Web Parts in SharePoint 2010
Module 10: Creating Dialog Boxes and Ribbon Controls for SharePoint 2010
Wednesday, December 2, 2009
SharePoint BI
A very good 6 Parts article on SharePoint's role in BI.
Part 1 – Getting to Know You – Intro to SharePoint BI
Part 2 – Sell! Sell! Sell! Why Build a Dashboard Anyway?
Part 3 – KPIs – Where do I Come From?
Part 4 – Dissecting Dashboards
[Awaited for the articles to release]
Part 5 – We Really Need to Talk – Scorecards & Reports
Part 6 – Beware the Bogeyman – Securing Dashboards
Part 1 – Getting to Know You – Intro to SharePoint BI
Part 2 – Sell! Sell! Sell! Why Build a Dashboard Anyway?
Part 3 – KPIs – Where do I Come From?
Part 4 – Dissecting Dashboards
[Awaited for the articles to release]
Part 5 – We Really Need to Talk – Scorecards & Reports
Part 6 – Beware the Bogeyman – Securing Dashboards
Subscribe to:
Posts (Atom)