Sunday, February 6, 2011

SharePoint 2010 Certification

Yesterday I passed the 70-576 certification for SharePoint 2010.

Tuesday, August 31, 2010

SharePoint 2010 - Part 2- PerformancePoint, BCS and Branding

Here are few problems I expereinced during my first SharePoint 2010 engagement:

Like I mentioned in my earlier post this project consisted of dashboards, SQL Server reporting, branding etc. The follwing lists the various issues I encountered and their resolutions:

  • While trying to install and configure Reporting services on SQL box I faced some challenges. Error: "SharepointIntegrated mode is set to true but could not find the microsoft.sharepoint.dll". Resolution to it was to not install Reporting Services on the SQL box but instead on the WFE and create new db on the SQL box. That way we do not need to worry about the sharepoint dll.

  • While configuring BCS (business connectivity services) I was faced with an error: "Access denied". Resolution: Add a new application ID in secure service store application in CA. Edit the database connection in external content type to use "windows impersonation" and enter the application ID created earlier. Go to "Business Connectivity Service" in CA --> Application management and set permissions for "All authenticated users" and others.

  • SharePoint 2010 now displays errors in the form of correlation ID. This way it is able to group related errors in one ID. Use this correlation ID from the error page and search for it in the 14 hive logs. (remember its now 14 hive instead of 12 hive)

  • As I had to extensively use PerformancePoint (PP) in this project I was required to generate a new key for PP service application. Without a key you will be shown an error: "The unattended service account cannot be set for the service application. The secure store service key might not have been generate or properly refreshed after the service was provisioned."

  • My client wanted to have a better looking page than the default report viewer page (RSViewerPage.aspx). As this page does not inherit from any master page and contains no placeholders you are better off creating your own masterpage and linking to it.

  • While creating a SSAS KPI from Sharepoint KPI list the conenction timed out with an error :"The connection either timed out or was lost. This data connection does not use encryption for the communication with the SSAS to help prevent unauthorized users from viewing this information". Resolutions was to got to IIS manager, go to IIS authentication for the site and enable ASP.NET impoersonation --> edit --> change settings (identity to impersonate) and give a domain user account there instead of Windows Authentication.

  • Now I am new to reporting services but most of you with exposure to SSRS will find this as a trivial task. While trying to run a query in the query designer I was blown with an error : "the query contains the parameter which is not declared". Resolution: even though the report designer had these parameters defined the query designer expects them to be defined in its interface.

  • I encountered an issue for which I could not find a permanent cause. I was required to create a custom masterpage with some ribbon UI changes. I changed the default home page to one of my custom pages inheriting from the custom masterpage. While trying to do so the ribbon UI failed to load with a javascript error below in the taskbar "undefined is null or not an object" in scriptresource.axd. It worked fine if I set default.aspx as the home page. Never could understand why this problem occurred. The important thing for me at that time was to get this working for the client.

These were some of the issues I remember while working on my first SharePoint 2010 implementation.

To follow more on SharePoint 2010 check out my next post of the two part series.

SharePoint 2010 - Introduction

I've been long silent, well lets put it lazy ! Since my last post I have worked on multiple engagements involving the new SharePoint 2010. Its been a good experience figuring out the new features, look n feel, especially the business aspect SharePoint 2010 gets to the community. Before I dig in to the new feature sets lets give you a short background of what I have experienced.

My first engagement of the 2010 version was with a publishing company. It primarily involved BI and branding. Performance Point 2010 played an integral part here, although I was completely new to it. Charts, Graphs, Dashboards, Scorecards, MasterPage, Stylesheets were the elements reuired for this project. My second engagement was with a natural resource gas company primarily involving WSS 3.0 to SharePoint 2010 migration. It also included a thorough assessment of their existing site collection and recommendations for the new 2010 version. That gave it a really big scope encapsulating entire SharePoint 2010 stack from branding, UI, list to Ribbon UI, BCS, and Social networking. It helped me gain some good perspective of the new features.

Following this article will be a two part series on SharePoint 2010 features.
It will contain my experiences and pain points throughout these engagements. But before I go, you MUST get your hands dirty on the new SharePoint 2010 ... it's simply awesome!

Friday, August 7, 2009

70-541 WSS 3.0 Application Development

Today I passed the WSS 3.0 application development exam. Stay tuned I will blog some nice tips and pointers.

Tuesday, June 9, 2009

Custom Calculated List Column













No I'm not talking about creating a regular calculated column here. Recently I was asked whether we can have a custom column in our list which displays a icon image and hyperlinks to a web part page with querystring.
Calculated column seemed to be the best choice. Below are the steps I followed:
  • Create a calculated column in the list.
  • In the formula section add
    ="http://servername/site/doclib/mywebpartpage.aspx?item=/site/doclib/"&[ColumnName]&".docx"

** Url and querystring should be modified according to your needs**

  • Select Single line of text for section "The data type returned from this formula is"
  • Open FldTypes.xml located in \Template\XML\ .
  • Navigate to the node <field name="TypeName">Calculated</field>
  • Navigate to <renderpattern name="DisplayPattern">node
  • Now either add a new case statement or add this code to Default node.Refer to the first image above. Add the html in the default node.
  • Save and Close the file.
  • RESET IIS
  • Refer to the second image above of how the output displays. "View in SharePoint" column has a icon which contains the hyperlink

Friday, April 10, 2009

Workflow Errors - Contd

1)
"The security validation for this page is invalid. Click Back in your Web browser, refresh the page, and try your operation again"

Set

SPWebObject.AllowUnsafeUpdates = true;

This should work as a breeze


2)
"New instances of this workflow template are currently disallowed"

This is probably the easiest one:

Go to Doc library settings --> workflow settings--> Remove workflows --> select "Allow New Instances"

Workflow Errors

Although you can get lot of wierd errors but I am here describing the ones I got and spent almosta day figuring out:

"Operation is not valid due to the current state of the object"
and
"Exception from HRESULT: 0x8102009B"

The funny part is that these are really not errors which halt your progress. These
errors can occur when you try to start a workflow that is

--------------------------------------------------------------
a) already running

or

b) errored

and therefore cannot be started again.
The stack trace will look something like:
Microsoft.SharePoint.SPException: Exception from HRESULT: 0x8102009B ---> System.Runtime.InteropServices.COMException (0x8102009B): Exception from HRESULT: 0x8102009B
at Microsoft.SharePoint.Library.SPRequestInternalClass.AddWorkflowToListItem(String bstrUrl, String bstrListName, Int32 .....


-----------------------------------------------------------------

So I would suggest you to check the item or wait for few mins before workflow shows up in the "View Workflow history" pane. For some reason when you kick start the workflow through the code it takes few mins to actually start.