This is default featured post 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured post 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured post 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured post 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured post 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

Tuesday, November 11, 2008

VS2010 - New SharePoint Features


1) Server Explorer for SharePoint viewing Lists and other artifacts in SharePoint directly inside of Visual Studio

2) Windows SharePoint Services Project (WSP file) Import to create a new solution


3) Added a new web part project item and showed the Visual web part designer which loads a user control as a web part for SharePoint


4) Showed adding an event receiver for SharePoint and using the wizard to choose the event receiver and to just create a source file with that event receiver.


5) Added an ASPX workflow initiation form to a workflow project and showed how this workflow initiation form has designer capability

6) Showed the packaging explorer and the packaging editor which lets you structure the SharePoint features and WSP file that is created

Cannot start the WSS Search Service & Office SharePoint Search not working - Same SQL & WSS\MOSS Server

Problem
Running SQL and MOSS on the same server, I was unable to start the WSS Search Service and the Office SharePoint Search service was showing errors in the SSP Site. I had the following errors in my Event viewer:

Event Type: Error
Event Source: Windows SharePoint Services 3 Search
Event Category: Gatherer
Event ID: 10034
Description: Could not access the Search service configuration database.
Context: Application '8f7d4cbe-8cb1-4d32-b406-1737af554479'
Details:The filename or extension is too long. (0x800700ce)

Event Type: Error
Event Source: Office SharePoint Server
Event Category: Office Server Shared Services
Event ID: 6482
Description:Application Server Administration job failed for service instance Microsoft.Office.Server.Search.Administration.SearchServiceInstance (9d344ee4-eacc-4460-8dc6-bb66bd5ab982).
Reason: The path is not of a legal form.
Techinal Support Details:
System.ArgumentException: The path is not of a legal form.
at Microsoft.Office.Server.Search.Administration.SearchApi.RunOnServer[T](CodeToRun`1 remoteCode, CodeToRun`1 localCode, Boolean useCurrentSecurityContext, Int32 versionIn)
at Microsoft.Office.Server.Search.Administration.SearchApi.AddApp(Role role)
at Microsoft.Office.Server.Search.Administration.SearchServiceInstance.InstallGathererApplicationIf()
at Microsoft.Office.Server.Search.Administration.SearchServiceInstance.Synchronize()
at Microsoft.Office.Server.Administration.ApplicationServerJob.ProvisionLocalSharedServiceInstances(Boolean isAdministrationServiceJob)

Reason
If you are running SQL and WSS/MOSS on the same server you will need to specify the Database Server, in the SharePoint Configuration Wizard as the NetBIOS name (Server01) and not the FQDN (Server01.Domain.com). Seems to be a bug in SharePoint as I always use the FQDN wherever possible

Solution
Disconnect from the SharePoint Farm (by running the SharePoint Configuration Wizard) and reconnect, this time using the NetBIOS name for the DB server. You will need to set the Indexer for any SSP’s you have created and restart some of the Services on the SharePoint Server but you should get back up and running.

Wednesday, October 8, 2008

40 SharePoint Templates NOW Available !

Role Based, Master Page, Workspace, Community Portal, My Site and many more Templates from Microsoft, enjoy here
http://www.microsoft.com/sharepoint/templates.mspx

Deploy software updates for SharePoint

Deploy software updates for Windows SharePoint Services 3.0
http://technet.microsoft.com/en-us/library/cc288269.aspx
Deploy software updates for Office SharePoint Server 2007
http://technet.microsoft.com/en-us/library/cc263467.aspx

Monday, September 29, 2008

VS 2008 and SharePoint 2007 Service Packs released

Most of you will already know this, but VS 2008 has been released. Experience all the new functionality by downloading it from here.

WSS 3.0 and MOSS 2007 service pack 1 has also been released. You can view the details here.

Just a word of advice, unless you have a critical need that is addressed by this release - wait to hear other people's upgrade experiences before jumping the gun on this one, especially in a production environment.

Error: The path specified cannot be used at this time.

Sometimes when doing application management tasks, you run into an error where the page stops creating your Web Application or other management task and instead throws this error:

Error: The path specified cannot be used at this time.

Upon digging a little deeper to ascertain the cause of the problem, I noticed that these 3 errors were being thrown on a consistent basis.

Attempted to read or write protected memory. This is often an indication that other memory is corrupt. Event ID: 6398.

Attempted to read or write protected memory. This is often an indication that other memory is corrupt. Event ID: 7076.

Attempted to read or write protected memory. This is often an indication that other memory is corrupt. Event ID: 6482.

I found this KB that related to this error, but I didn't want to install it on the server directly. So here are the things I did to resolve this.

1. Installed the latest critical updates from Windows Update on the servers.
2. Re-started the servers in the farm for those to take effect.

This fixed the problem temporarily. It came back a couple of days later so I restarted the SharePoint timer service. Since then, the error has not come back.

Wednesday, September 24, 2008

What to do When User Profiles Don't Have Email Addresses

Today, at a customer site, I addressed a problem that annoyed users more than usual. It seems that they can't sign up for alerts or assign each other tasks, and they get an error screen that offers to fix the problem, but leads to a dead end. I evaluated it, and created this write-up:
Among the many pieces of information collected and presented by SharePoint, some of this information comes directly out of Active Directory. AD was always intended to be a directory first, a central repository for information about users, phone numbers, email, etc. I’ve seen phone systems that tap directly into AD, for example. But most places I’ve been, AD is simply treated as a place to store user accounts, and much of the information on each account is left blank.
SharePoint’s strength (or weakness, if you’re a cynic) is that is depends on AD for certain pieces of information. MOSS periodically queries AD and updates all user profiles with this information, such as who works for whom, phone numbers, department information, and email addresses.
Problem:It’s this last piece of information that, when missing, breaks some functionality in SharePoint. In order for people to be able to sign up for alerts (e.g. to be notified when a document is changed, an item is added to a list, or status changes on a task), or be assigned tasks, or a multitude of other collaborative processes, the email address field must be populated in AD. Otherwise, they get an error like this:

And if they click the friendly link to set their email address, they get this (sorry for all the redaction):

…which is to say, a completely useless page where they can’t change anything.

Snickering about Microsoft aside, this is an intentional design. SharePoint is supposed to pull this property from the user’s AD account, and even if I set the field to allow users to edit their email, it would be overwritten by default every time the AD query was run.

Sharepoint has extensive property mapping, and the “Work E-mail” field is mapped to the AD “mail” property, which is editable on the “General” tab of the user’s AD account:

You can see that even though I can bring up my non-administrator account, I can't edit most of the properties. It has to be done by someone with elevated permissions.

There are a lot of other pieces of information that SharePoint can use that are typically left blank, as well:

The Organization tab is used to bring a neat feature into SharePoint: it will use this information to create a mini-org chart on each user’s profile, so you can see a user’s supervisor(s) and peers at a glance.

So at this site, where there are a large number of users and administrators typically didn't bother to fill out the complete properties when creating users, the result is that SharePoint becomes less useful--or even broken. The organization recently installed an Exchange server, but it was incorrectly implemented. I believe the reason no one’s email address is current in their AD profile is a problem with the MS Exchange implementation at this company. When Exchange is installed, it adds numerous properties to a user’s profile, and I pretty am sure that this email field on the General tab is automatically populated when the user is assigned a mailbox.

Since this company isn’t set up with a typical configuration, this property has to be populated manually by an administrator. I proposed three possible solutions:

Undertake a project to do a mass-population from a CSV file, using CSVDE or a similar scripting tool.
Actually the company had been looking at a tool that would do this for them, but had not gotten a budget together.
Unmap the email field so that it is not refreshed whenever there is a profile import task performed by SharePoint (schedule is run once daily). Also, set SharePoint permissions to allow users to edit this field.
Problem: this will require a great deal of administrative overhead because email addresses are subject to change, and users may not be inclined to edit their own information, which will lead to an inconsistent user experience.
Allow users to submit a request for helpdesk to update their active directory profile information.

In the end, we chose option #3. Using InfoPath 2007, I created a simple web-based form to allow users to enter all the information (per the screenshots noted above) and submit it via (plain text) email to the helpdesk mailbox. I believe this is the most straightforward approach and it helps the IT staff because they won’t have to track down lots of contact and HR information. Since not everyone is using InfoPath 2007, I published the form to the MOSS site to be rendered as a web form, and specified that the form submitted via email not use an attachment; it was a static HTML table.

By and large, this took care of the problem. The MOSS site currently has light usage, so the volume of user requests for IT to update their profiles would also be light. When IT gets around to purchasing their AD-automation tool, this form method can be retired.

Once again InfoPath saves the day! I think I will write more about it in an upcoming post.

So you want to be a farmer

My two largest customers suddenly both decided they wanted to stop playing around with a test MOSS server, and put SharePoint into production. So all week I've been building and configuring small SharePoint farms. I ran into a real headache today, which I'll discuss below.
First, here are the two deployments:

SharePoint Farm with No Load Balancing:

This solution means you have a single web front-end server, but multiple servers in the farm, mostly for distribution of load. This customer wanted a dedicated indexing server, with the index replicated over to a share on the WFE server.




Figure 1: Generic SharePoint Farm without Network Load Balancing

SharePoint Farm with Load Balancing:
This customer decided to go with load balancing, which means you have multiple WFE servers all serving the same content. In this case we did not set up any dedicated servers; the indexing and searching is distributed across both MOSS servers.



Figure 2: Generic SharePoint Farm with Network Load Balancing

Let's face it: Information Technology is a large enough discipline that it's easy to put yourself in a situation where you go from respected expert to bumbling moron in the blink of an eye. It's bound to happen, since SharePoint crosses so many technologies. Today, it was something as seemingly simple as setting up a two-node NLB cluster.
I'm not going to cover the specifics of setting up NLB, because that is covered elsewhere in lavish detail.


In NLB, there are two modes for traffic: Unicast and Multicast. Unicast basically means the network card is dedicated to NLB traffic, and Multicast means you can use it for both NLB and regular traffic. In the second figure above, the two MOSS servers each had one network card, so my plan was to use Multicast. Everything converged beautifully and the clouds parted and the angels sang. I got MOSS installed and joined to the farm. I was able to browse to the "Portal" site hosted on the clustered IP, from several different servers.
However, I couldn't reach the site from my laptop. Or even ping the clustered IP. Nobody else could, either. Some of you are already nodding your heads. Bonus points to you.
We found out that all the machines on the same subnet could connect to the clustered IP just fine, but nobody else could. Since this is an enterprise with numerous subnets, this presented a problem.


It turns out that due to the way Multicast works, some gateways do not route its traffic properly. Older routers can't handle Multicast at all. Newer ones can, but this functionality is often turned off. So in the end, we added another NIC to each MOSS server (luckily these are virtual machines, so it was easy), switched to Unicast, and the problem was resolved.
So here is a rule of thumb: Multicast is fine if you have a single subnet. But use Unicast if you have more than one subnet (or a WAN).


As soon as we switched over and reconverged, everything worked wonderfully again. The clouds didn't part this time, but I still felt pretty good about it.

Convert template title to internal name

My subsite creation webpart lets the user choose from a list of allowable site templates. Of course, SPSiteCollections.Add() wants the internal template name, like "STS#0" for a team site template, and blog only knows what for a custom site template. My users don't like this much; they want to see "Kewl new subsite template" in the dropdown selection, so he agrees. So here's how you convert the template title to the internal name:

// We want to create the site using a pre-defined site template.
// People refer to site templates by using the public template name,
// but SharePoint refers to them by using the internal template name.
// Find the internal name for the desired site template.

string InternalTemplateName = "";
SPWebTemplateCollection webTemplates = globalAdmin.VirtualServers[0].GetWebTemplates(localid);

foreach(SPWebTemplate t in webTemplates)
{

if(t.Title.CompareTo(strPublicTemplateName) == 0)
{
InternalTemplateName = t.Name; break;
}
}
// If the template could not be found...


if( InternalTemplateName == "" )
throw new Exception( "Cannot find site template '" + strPublicTemplateName + "'." );


// Create WSS project site.

SPSite newSite = siteCollections.Add( url, title, desc, localid, InternalTemplateName, login, name, email );

Now if I can just get them all to learn binary...

How to change the SharePoint logo on every page

Our new SharePoint 2007 site is up and running. Over 1,000 pages, each with our customized logo in the upper left hand corner. Uh-oh, it worked fine on the test server, but not on the production server. That's because every page was created from some nifty template which points to the test server to look for the logo, and the test server is no longer available. Not only does it look bad, but for reasons known only to the various SharePoint gods, you can't switch a document library to Explorer View until SharePoint has finally decided that the logo can't be found. This takes about 20 seconds. The natives were restless, and the high chieftan announced that Something Had To Be Done. After manually changing a hundred pages, I decided there has to be a better way. Well, an easier way.
I don't believe in mucking with the SharePoint SqlServer database. I don't go out with those who do. But I did it here, after testing it first on another department's production server (that's another story). Here's what you do...
use WSS_Content
update Webs
set SiteLogoUrl = '/ImageLibOnHomePage/LogoFilename.jpg'
where SiteLogoUrl = 'http://TestServer/ImageLibOnHomePage/LogoFilename.jpg'

It turns out I didn't need the "http://TestServer" part anyway! SharePoint happily defaults to the local server. So now it both works and is server-independent.

Thursday, June 26, 2008

SharePoint Rocks



SharePoint Rocks
it's the Sunset, see ya tomorrow Morning with a pleasant sunrise
until then

Good Night, शुभ रात्री

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites More