Friday, July 11, 2008

SharePoint 2007: Shared Services "Provision in Progress"

I have one development environment that I use to test webpart or any customizations before deploy to the production server. However, I always failed to setup Shared Services for this particular server, which causes all the search, my site, profile, etc are not working. When the Shared Services are in provisioning stage, it's stopped with timeout error, and in the SharedServices list itself, it's written "Provision in Progress".

At last, we manage to find the cause of the problem, it's caused by SharePoint Services Timer in Windows Services, which is stopped before, because it consumes a lot of resources when some heavy testings are needed. When the Windows SharePoint Services Timer has been started, the Shared Services can be created smoothly.

Wednesday, June 25, 2008

Gmail and IE7: Operation Aborted

Well, I believe many of you have experienced this annoying issue. You try to load Gmail in IE7 and IE7 will popup "Operation Aborted". I usually try about 4-5 times, and at the end the Gmail can be loaded. I am not really sure what's wrong with this, and I hope it's not done purposely by either Microsoft or Google. Some said that this is Google way of responding to Microsoft and Yahoo saga, and others argue that this is Microsoft's fault that its application doesn't meet quality standard.

Well, here is Google advice at this page: http://mail.google.com/support/bin/static.py?page=known_issues.cs&knownissue=gmail_issue_ie7operationaborted&topic=12778#

Some Internet Explorer 7 users are reporting the error message "Internet Explorer cannot open the Internet site http://mail.gmail.com/mail/. Operation aborted." If you're experiencing this problem, please use Mozilla Firefox or the older version of Gmail.

And so far, no more useful explanation rather than switch to Firefox and "leave da microsoft's crap for your live". And, if you read on the other solutions there, Google can only advice remove whatever toolbars or addins in IE7 that cause the error. I am not really sure if they're good advices. So, are we allowed to use Google Toolbar only in order to use Gmail smoothly? Come on Google, you can give better explanation, or just fix the issue (for god sake). You're big enough to come out with the complex algorithm for search and unable to solve this small little issue for months? I use a lot of internet/intranet application on IE7, and no single issue happens with the same scale of this error.

Monday, June 23, 2008

SharePoint 2007: Default.aspx displayed "HTTP 500 Internal Error"

I have experienced wierd behaviour in SharePoint, which if I type http://server-name/sitename/, it will show "HTTP 500 Internal Error", but when I type http://server-name/sitename/default.aspx, it shows the page correctly. The action I have done to the site is to edit the permission for this site (break the inheritance). I fixed the problem by inheriting the permission back from the parent site, and then edit the permission again. If you face same problem, the symptom I have went through is:

1. You try to edit permission in Advanced Permission, but SharePoint throws some error message, so you decide to go to "_layouts/role.aspx", and break the relationship from there.

2. It seems that everything is fine, until you go to the site without typing "default.aspx" (http://server/site/subsite), it will show HTTP 500 Internal Server Error, but if you include "default.aspx" (http://server/site/subsite/default.aspx) in the URL, it is fine.

3. You cannot export/import the site using stsadm.

4. You cannot see the subsite in the SharePoint Designer parent site (however you can open the site in SharePoint Designer by directly typing the full URL), backup/restore site through SharePoint designer will fail too.

5. You cannot create new Document Library, which SharePoint prompt the list name exists, although you're sure that the document library name does not exist.

6. Solution: Go back to Advanced Permission, Inherit the permission back, and try to edit permission again. Now it shouldn't throw any error.anymore.

Tuesday, June 03, 2008

Feature '75a0fea7-c54f-46b9-86b1-2e103a8fedba' is not installed in this farm, and can not be added to this scope

Well, if you come to this page from Google, I believe you are working on demo environment of your SharePoint and try to install Application Templates from Microsoft, and you're kind of puzzled and stress, why the Application Templates cannot be installed, as you have done it smoothly in your own VPC.

Well, one of the possible reason is ApplicationTemplateCore is not installed yet on your server farm. It's one of the initial step before you use any Application Templates. Having played and installed so many application templates, people might miss the initial step in the other SharePoint environment. If this is not the case, there's other suggestion that might work is to append "-force" when you deploy the solution.

Sunday, June 01, 2008

SharePoint Designer: Show Line Break for Multi Text (Plain Text)

If you have Multiline type column and set it with "Plain Text", you might have difficulty to show it using Data View (that is added using SharePoint Designer) for the content that has a line break. It will show as a single line. If you view the HTML Source of the page, the line-break character is actually printed there. It's just that HTML will not interpret such white-space character as line break.

There're 2 ways to overcome this issue:

1. Wrap your <xsl:value-of select="@Column_Name" escaping="yes"></xsl:value-of>using <pre>. However, you will lose the text-wrap functionality, since most browser will render <pre> as it is, no line break means no line break. This maybe a no-go to this solution.

2. Using xslt functionality to change all line break to.For example your original text is:
<xsl:value-of select="@Column_Name" escaping="yes"></xsl:value-of>

Replace it to:
<xsl:call-template name="breakitemdesc"></xsl:call-template>

Add below to the beginning of the other <xslt:template> or after </xslt:template> of the section:

<xsl:template name="breakitemdesc">
<xsl:param name="text" select="@item_x0020_Description"/>
<xsl:choose>
<xsl:when test="contains($text, ' ')">
<xsl:value-of select="substring-before($text, ' ')"/>
<br/>
<xsl:call-template name="breakitemdesc">
<xsl:with-param name="text" select="substring-after($text,' ')"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$text"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>

Access Denied when Accessing User Profiles and Properties

If you try to access User Profiles and Properties using account that is not part of Administrators group or account that is used to setup SharePoint, you might have problem accessing "User Profiles and Properties" (Access Denied) although you have been added to Farm's Administrator or Shared Services' Site Collection Administrator.

What you need to do:
Click on "Personalization Services Permission" in the Shared Services page, and then grant the permission from there. It seems that this permission is totally separated from other permission setting in SharePoint.