Posts Tagged ‘Project Server 2010’

Project Server – "An unknown error has occurred"

April 17, 2012 3 comments

I recently had an issue at a client where the Project Center was failing to load and returning “An unknown error has occurred” on the page. We have seen this behaviour before and it’s usually some corrupt Project data that causes it, but I’ve never had the time to get to the bottom of the problem. Fortunately, today I had a bit more free time to investigate.

This particular issue is caused by custom fields that are linked single value (read: not multi-select) lookup tables erroneously getting multiple values assigned to them. How this occurs is as-yet unclear, but it appears to be symptomatic only in the published database – the draft and reporting databases are unaffected.

So, what’s the fix?

There are a couple of things that can be done, depending on your level of access and technical capability. Firstly, we need to identify the plans that are causing the issue. The fastest way of doing this is with a little piece of SQL code (change <Published_DB_name> to your actual Project Server published database name):

USE <Published_DB_name>
(SELECT proj.PROJ_NAME FROM dbo.MSP_PROJECTS proj WHERE pcf.PROJ_UID = proj.PROJ_UID) as ProjectName
,(SELECT pcfv.[MD_PROP_NAME] FROM [dbo].[MSP_CUSTOM_FIELDS] pcfv WHERE pcfv.[MD_PROP_UID] = pcf.MD_PROP_UID) as CustomFieldName
ORBER BY ProjectName, CustomFieldName

(credit to Jan @ Piet Remen’s blog for the above query –

This will return a list of projects, custom fields and the number of times that the custom field has been populated. If any project appears as an output of this script, you can view view the issue by taking a look at the Project Information through PWA. Affected custom fields will appear comma separated – e.g. Project Priority: Low, Low, Low, Low – where they should only appear as a single value.

The fix is quite a simple one – republish the project. This pushes the values from the draft database back to the published database and overwrites the broken custom field values. Check in PWA > Project Information, or re-run the above query to check that the plan is now fixed in the published database. I have seen a couple of instances where this did not fix the problem, and we had to delete the published version of the plan, and re-publish from the draft version.

It is still unclear how long the project will remain “fixed”, we have had a couple of plans reproduce the issue after being republished.

Microsoft have identified the issue, and released a fix, which can be found here:

This KB is also included in the roll-up package ( though it’s not documented.

These KB’s will prevent the issue occurring in the future, but will not fix existing problems – be sure to follow the above steps to ensure that the plans are fixed. As always – be sure you have database backups before applying updates!


#ProjectServer 2010 / 2007 high-level Audit Export via #PowerShell #MSProject #PS2010 #EPM

March 9, 2012 1 comment

Quite often there is a request for audit information from Project Server but unfortunately there is nothing available out of the box. This post covers a very high-level solution to this using the Project Server PSI and PowerShell.

Most actions in Project Server are processed via the Project Server queue, one simple way to get high-level audit information is to extract the queue information. The following PowerShell script uses the ReadAllJobStatusSimple method from the Queue System web service to export yesterdays processed jobs into a txt file with yesterday date appended to the filename:

$Today = Get-Date
$Yesterday = $Today.AddDays(-1).ToString("yyyy-MM-d")
$Filename = "C:\PSAuditExport\QueueExport-"
$filetype = ".txt"
$svcPSProxy = New-WebServiceProxy -uri "http://vm353/pwa/_vti_bin/PSI/QueueSystem.asmx?wsdl&quot; -useDefaultCredential
$svcPSProxy.ReadAllJobStatusSimple("$Yesterday 00:00:01", "$Yesterday 23:59:59", "200", "0", "QueueCompletedTime" ,"Ascending").Status | Export-CSV $Filename$Yesterday$filetype -Delimiter "|"

For the full post please see:

#SP2010 and #PS2010 versions and the associated KB articles #SharePoint #ProjectServer #in

Following on from my colleagues post on finding the SharePoint Build Version via PowerShell (Link), I would just like to draw your attention to a list of SharePoint / Project Server versions that I maintain.

Links to the KB articles are also available along with the build version and the Cumulative Update / Service Pack that they are associated with.

How to access:

In the top menu of the site:





I know that other people maintain similar lists, this is just my way of keeping on top of the versions for SharePoint and in particular Project Server.

Hopefully this is useful for others also.


Retrieving #ProjectServer database names from the URL #in #PS2010

February 21, 2012 Leave a comment

So today my colleague needed help with returning the Project Server database names from PowerShell.

The usual process occurs here within CPS in this scenario, email to the whole team asking the question and this results in a variety of response from the sensible to the ridiculous to achieve the end goal.

The sensible suggestions is as follows:



Example Output:


Categories: Work Tags: ,

Excel Services Problem. “An unexpected error has occurred”

February 13, 2012 1 comment

I was recently asked to look at an Excel Services problem, where rather then a spreadsheet opening in the browser we were getting the ever helpful “An unexpected error has occurred” screen.

Checking in CA the Excel Services service application seemed to be provisioned, the settings seemed okay and the service was running, a quick check in Windows event log soon found the problem


The service application was not registered with the default web application.


As soon as we set the association, Excel Services sprang into life

I passed the #MSProject and #ProjectServer exams #in #MSPC12 #SharePoint #PS2010 #SP2010

February 7, 2012 2 comments

Just a quick blog post to say that I took the Microsoft Project and Project Server 2010 exams last week and I am pleased to say that I passed.


70-177 – Microsoft Project Server 2010, Configuring

70-178 – Microsoft Project 2010, Managing Projects

For those who are interested in taking the exams and learning more about Microsoft Project / Project Server can I recommend that you don’t miss out on the event of the year:




Not only will various speaker sessions be available (including myself and my client!) but you will have an opportunity to try for these exams yourself for free!:

Mark the location & date in your calendar: Phoenix, Arizona (March 19th – 22nd 2012) and if you decide to come, let me know and we’ll meet up.

Missing Server Side Dependencies–Useful links for diagnosis and removal #SP2010 #PS2010 #SharePoint #ProjectServer #in

January 17, 2012 4 comments

Some quick links to help diagnose the “Missing server side dependencies” errors from the health check analyzer in SharePoint 2010.

Helps remove features via a GUI interface (be careful with this tool!)

Removes feature dependencies from the database via PowerShell (be care with this script!)

Once you have removed the dependencies, re-run the health check analyzer for the “Missing server side dependencies” rule and you may have some residual files to clean up in the content database.

Use the following PowerShell scripts to analyse the location of the files and then you can clear them up appropriately:

I’m speaking at Project Conference 2012 – Integrating #SP2010 and #PS2010 #PC12 #SharePoint #ProjectServer #in

January 16, 2012 2 comments

Apologies for the lack of updates on the blog, the Christmas / New Year holidays have been really busy.  Anyway, just a quick blog post to announce that I will be presenting at this years Microsoft Project Conference in Phoenix, Arizona in March this year.




My Company:
Corporate Project Solutions

Microsoft Project Conference 2012
Full Session Details

If you are attending the conference and you would like to meet up, just let me know.  You can contact me here.

Further Details:

Session Title: Integrating SharePoint and Project Server 2010 – Deployment Approaches, Integration Options and making the most of the SharePoint Enterprise Features.

Track: Deployment, Administration & Developer

Level: 300

Audience: IT Professionals, Developers & Consultants

Products: Project Server 2010 & SharePoint 2010

Now that Project Server 2010 is built on top of SharePoint 2010 Enterprise, a new series of options are available with various choices around implementation.

Although integration was possible between Microsoft Office SharePoint Server 2007 Enterprise and Project Server 2007, this was not seen as a standard implementation for many companies and those implementing this approach were defining the rules.

Corporate Project Solutions is one such company who have been taking advantage of these SharePoint Enterprise Features for companies such as ID Business Solutions and ARM to deliver tight integration along with Business Intelligence (self-service dashboards), Document Management and Collaboration.

Solutions created with this approach provide a level of visibility and collaboration previously unseen by these clients and genuinely provide business value for all stakeholders and management / reporting lines.

As a Senior SharePoint Architect who has moved into the Project Server arena in the last 3 years, I initially made many assumptions in the way Project Server works based on the fact it was built on top of SharePoint.  This presentation discusses the deployment approaches / configurations of programme and project sites.  It outlines 4 options, how they support business intelligence and the pros / cons of each implementation in relation to the project management maturity of the client.

However, during trialling of various implementation approaches, CPS has found a number of pitfalls that do not conform to what is encountered in a SharePoint-only implementation. This demonstration discusses some key difficulties and how to provide a solution that is in accordance with Microsoft best practice and supportable.

Section One – Implementation approach definitions:

Option 1 – Out of the box Project Web Access and Project Sites

Option 2 – Project Web Access as installed with Project Sites customised outside of the standard Project Server 2010 configuration

  • Allow custom styles to be applied
  • Full use of Search capabilities
  • Site Content Types can be utilised to centrally control key lists such as Risks, Issues, Actions and Deliverables
  • Workflows can be attached and rolled out by Content Type
  • Lists can be updated whilst projects are in-flight centrally as project management maturity evolves.

Option 3 – Project Web Access as installed with centralised lists for all projects / programmes

  • Allows all dashboards to be kept in sync as project maturity evolves
  • Project and programme roll up dashboards can be implemented using standard out of the box list views and filter web parts (Enterprise Feature)
  • Business intelligence reporting becomes easier due to all lists being in sync for all projects / programmes o Reporting is always comparing apples with apples.

However, depending on the approach taken various pitfalls need to be taken into account such as loss of client / server integration features between the Project client and Project Server, cross project security etc.…

A demonstration of each option will show the power and pitfalls of each approach as they are discussed during the presentation.

Section Two: Maintaining consistency and integrity between SharePoint and Project Server

The focus here will move to customisation options using Enterprise Features, taking account of Microsoft best practice.

Examples include:

PSI Web Service integration

  • Resource Synchronisation between ERP and Project Server solutions

Project Server Event Handlers

  • Linking tasks to SharePoint data and keeping them in sync via Project Server Event Handler

Business Intelligence

  • Reporting Services in SharePoint Integration mode and SharePoint Enterprise filters for parameters.
  • Complementing the standard BI options of Excel Services & PerformancePoint provided as part of the out of the box Business Intelligence Center site template.

Look and Feel customisation

  • Customising the look and feel and adding jQuery to Project Web Access whilst maintaining best practice and supportability. (I.E. Without modifying the Master Page, Page Layouts or using SharePoint Designer)

Section Three: Breaking the rules – discussing key differences between Project Server and SharePoint and how they can be overcome.

For the final section of the presentation, we shall discuss how Project Server doesn’t conform to the techniques that SharePoint consultants use during implementations:

  • User Profile Service versus the Resource Pool
  • Permission Model
  • Project Server vs. SharePoint – Browser compatibility comparisons
  • List content types vs. Site Content Types
  • Attaching workflows to Risks and Issues


In finish off we shall tie the three separate sections together to discuss end-to-end implementations utilising the most appropriate features of SharePoint and Project Server allowing clients to achieve the best possible solution with the options available.

#SharePoint Web Front-End HTTP 404 Response but no errors in the log #SP2010 #PS2010 #MSProject #ProjectServer #in

October 28, 2011 6 comments

Recently we had to restore a content database from back up at a client.  We were working on APP1 of a 2 WFE + Database configuration.

We followed the usual steps:

  • Restore database into SQL Server from backup as a different name (<ServerName>_ContentDB_20111028)
  • Log into Central Administration
  • Go to Manage Content Databases
  • Remove the existing Content Database
  • Add the newly restored database (<ServerName>_ContentDB_20111028)
  • Restart IIS (not required but just for good measure)

After doing this, APP1 worked find, but APP2 however kept giving the HTTP Response Error: 404.

We checked the usual places:

  • ULS Logs
  • Windows Event Logs
  • IIS Logs

No other errors apart from the 404 Not Found error.

To try and force an error we went to some the standard SharePoint pages on the file system such as:

  • /_layouts/settings.aspx
  • /_layouts/create.aspx

This forced the following error to appear in the ULS logs:

  • Unexpected System.NullReferenceException: Object reference not set to an instance of an object

A quick Google and the following came up:

The steps below are slightly modified from the one mentioned in the post but it ultimately resolved the issue:

  1. Stop the OWSTIMER service on the problem SharePoint WFE server in the farm.
  2. On the problem server, navigate to:

    Server 2003 location: Drive:\Documents and Settings\All Users\Application Data\Microsoft\SharePoint\Config\GUID and delete all the XML files from the directory.
    Server 2008 location: Drive:\ProgramData\Microsoft\SharePoint\Config\GUID and delete all the XML files from the directory.

  3. Delete all the XML file in the directory. NOTE: ONLY THE XML FILES, NOT THE .INI FILE.
  4. Open the cache.ini with Notepad and reset the number to 1. Save and close the file.
  5. Start the OWSTIMER service on the server and wait for XML files to begin to reappear in the directory.
  6. IIS Reset (just for good measure)

Took us a good couple of hours to resolve this one, so hopefully it can help you too.

Full Log Example:

10/28/2011 09:30:41.30  w3wp.exe (0x1508)                        0x1204 SharePoint Foundation          Runtime                        tkau Unexpected System.NullReferenceException: Object reference not set to an instance of an object.    at Microsoft.SharePoint.SPSite.PreinitializeServer(SPRequest request)     at Microsoft.SharePoint.SPWeb.InitializeSPRequest()     at Microsoft.SharePoint.WebControls.SPControl.EnsureSPWebRequest(SPWeb web)     at Microsoft.SharePoint.WebControls.SPControl.SPWebEnsureSPControl(HttpContext context)     at Microsoft.SharePoint.ApplicationRuntime.SPRequestModule.GetContextWeb(HttpContext context)     at Microsoft.SharePoint.ApplicationRuntime.SPRequestModule.PostResolveRequestCacheHandler(Object oSender, EventArgs ea)     at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()     at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& complet… 97bd5397-9665-4f46-82ed-c5e702f8ccd0

10/28/2011 09:30:41.30* w3wp.exe (0x1508)                        0x1204 SharePoint Foundation          Runtime                        tkau Unexpected …edSynchronously) 97bd5397-9665-4f46-82ed-c5e702f8ccd0

#SharePoint You Tube web part now up on #codeplex #SP2010 #ps2010 #projectserver #MSProject

October 19, 2011 4 comments

Although I don’t get to develop as much as I would like, I do occasionally spot a need and create a web part or two.

In this case my marketing department wants to put videos that are on our company You Tube channel on to our website.

Now to the techies of the world you may be thinking.  This is easy, Content Editor Web Part, copy and paste the embed code and done.  However, if the web site is being maintained by non-technical people, things can get into a muddle pretty quickly.

As a result of this I started to look at the You Tube iFrame Embed API and found all sorts of interesting options.  So this web part provides access to most of the features found in the API.  The most interesting of which is the playlist option with a comma separated list of Video ID’s.

Take a look at the video below:

SharePoint You Tube Web Part


Hopefully other people will find it useful also.


Title: SharePoint You Tube Web Part

Versions Supported: SharePoint Foundation 2010, SharePoint Server 2010, Project Server 2010

Type: Farm Solution (Hoping to make it a sandbox solution, but was having issues…)


Have fun!

%d bloggers like this: