Archive

Posts Tagged ‘Project Server 2007’

OLAP Cube Error – Cannot process the Project custom field

June 27, 2013 1 comment

Just a quick note to let you know about an error I came across today.

In Project Server 2010, I had a field called “Objective”. This was associated with a lookup table of the same name, which was single-value select. This field was added to the Project OLAP cube, which built successfully. So far so good!

I then changed the field type to multi-select, and left the cube to build overnight. Came back the next day to a failed OLAP build. The exact error I got in the queue was this:

  • CBS message processor failed:
  • CBSMetadataProcessingFailure (17005) – InitCustomFieldDimensions cannot process the Project custom field ‘Objective’. Details: id=’17005′ name=’CBSMetadataProcessingFailure’ uid=’c69b0459-5d1f-4d78-a410-f56cd32eca97′ QueueMessageBody=’Setting UID=00007829-4392-48b3-b533-5a5a4797e3c9 ASServerName=<SQLServer> ASDBName=OLAPCube ASExtraNetAddress= RangeChoice=0 PastNum=1 PastUnit=0 NextNum=1 NextUnit=0 FromDate=10/30/2012 00:00:00 ToDate=10/30/2012 00:00:00 HighPriority=True’ Error=’InitCustomFieldDimensions cannot process the Project custom field ‘Objective”.

Hmmm…OK, must be the change I made to the field. I need this field to be multi-value, but I don’t necessarily need it in the cube for reporting. So, I went to remove the field from the cube but it wasn’t listed. Weird. I thought re-saving the OLAP configuration and re-building it would just flush out the field since it was no longer listed in the cube configuration. I got the same error in the queue again.

The only fix I found for this was to re-create the OLAP cube with all of the same settings as previously, minus the “Objective” field, which I couldn’t add anyway as multi-value fields aren’t available to add to the cube.

Hope this helps you out if you come across this error in the future.

Lester

Edit: it seems that this was a known issue back in 2011, which hasn’t yet been fixed. More info on Brian Smith’s blog here: http://blogs.msdn.com/b/brismith/archive/2011/02/04/project-server-2010-take-care-changing-custom-fields-to-allow-multiple-values.aspx

#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:

http://pwmather.wordpress.com/2012/03/05/projectserver-2010-2007-high-level-audit-export-via-powershell-msproject-ps2010-epm/

Successfully Deploy #ProjectServer on #VMWare with Shared Infrastructure web cast tomorrow–1600 GMT #SP2010 #PS2010 #MSProject #SharePoint

September 28, 2011 Leave a comment

Update: Original post suggested that the time was 15:30 GMT. It is actually 16:00 GMT

Just a quick post to say that my colleague (Sacha Cohn – CTO – Corporate Project Solutions) is running a webcast tomorrow about how to successfully deploy Project Server 2010 on virtualised hardware.

In particular this web cast focuses on VMWare, however many of the same principals work on Hyper-V infrastructure too.

I’ll be trying to dial in also and there will be plenty of chances to ask questions at the end so I encourage you to join in. I suspect you will be surprised by some of our findings.

Details:

TechNet Webcast

Successfully Deploy Project Server on VMware with Shared Infrastructure (Level 200)

Virtualizing Microsoft Project Server 2010 provides many benefits, but there are a number of decisions that you must carefully consider. This webcast highlights the key decision points around architecting a Project Server 2010 deployment utilizing VMware on shared infrastructure.

About the presenter:

Sacha Cohn is Chief Technology Officer of Corporate Project Solutions. A Microsoft Project Server and Microsoft SharePoint architect for over 10 years, Sacha has architected global-scale Project Server and SharePoint solutions. As a Microsoft Certified Scalability tester for the past 5 years, Sacha has focused on pioneering load and performance testing of Project Server and SharePoint solutions, to achieve the best value from VMware, Hyper-V, and physical infrastructure.

Slipstream #Project Professional 2010 updates #MSProject #PS2010 #PS2007 #ProjectServer #MSOffice

August 2, 2011 Leave a comment

Following on from my previous post Customising the Project Professional install, this post looks at slipstreaming the Project Professional 2010 updates into the Project install media. This simplifies the install as there is just one install file to run. This post will look at slipstreaming Service Pack 1 and the June 2011 Cumulative update into the Project 2010 install media. The same process applies for Project Professional 2007 but use the 2007 updates. This process also applies for other Microsoft Office applications with the relevant updates.

Firstly download the following updates:

  • Project 2010 Service pack 1 – KB 2460052
  • Project 2010 June 2011 Cumulative Update – KB 2536590

For the purpose of this post, I have both of the updates on the root of the C:\ drive, if you have the updates in a different location please update the commands to reflect the file location.

Create an Updates folder on the root of the C:\ drive

Open Command Prompt, navigate to the root of the C:\ drive and type the following command to extract Project 2010 SP1 to the new Updates folder:

project2010sp1-kb2460052-x86-fullfile-en-us.exe /extract:C:\Updates

image

Press Enter and accept the license agreement in the pop up box, you will then see the files extracting dialog box

image

Once complete you will then see installation complete message:

image

Click OK then you will see the extracted files in the C:\Updates folder:

image

Copy the contents of the C:\Updates folder and paste the contents into the Updates folder in the install media.

image

Once the files have been copied to the Updates folder in the install media for Project Professional 2010, delete all of the files from the C:\Updates folder so that you are ready to extract the Project 2010 June 2011 CU.

Open Command Prompt again and navigate to the root of the C:\ drive then type the following command to extract the Project 2010 June 2011 Cumulative Update to the Updates folder:

project2010-kb2536590-fullfile-x86-glb.exe /extract:C:\Updates

image

Press Enter and accept the license agreement in the pop up box, you will then see the files extracting dialog box appear followed by the  installation complete message:

image

Click OK then you will see the extracted files in the C:\Updates folder:

image

Copy the contents of the C:\Updates folder and paste the contents into the Updates folder in the install media.

image

Now the updates have been extracted to the Updates folder in the installation media for Project Professional 2010, the updates will be applied when Project Professional 2010 is installed.

Further iPhone application updates #iphone #ipad #ios #SharePoint #SP2010 #MSProject #PS2010 #ProjectServer #in

Just a quick blog to say that I have updated the SharePoint (and Project Server) iPhone application today with the following content:

  • About Me – Links to my profile, my company etc…
  • SharePoint Conferences around the world – locations & dates
  • SharePoint Saturday around the world – locations & dates

Application Categories: Social Media, News

Search Keywords: SharePoint, Project Server, Giles Hamson, Shenanigans, RSS, Blog

Introducing a new #iPhone / #iPad application for the #SharePoint and #ProjectServer community #SP2010 #MSProject #in

July 24, 2011 1 comment
iPhoneIcon_Original

Application features:

  • Blog articles from this site
  • Blog categories by author
  • SharePoint blog community RSS feeds
  • Project Server blog community RSS feeds
  • User Group locations and dates
  • Social media sharing via:
shenanigans_facebooklogo shenanigans_twitterlogo1

As the community has been so kind to me, this is my way of giving something back and I welcome new feature suggestions and blogs to be added to the RSS feeds.

SharePointUserGroupUK

The user group meeting locations is currently only for the UK, but if anyone would like to add any further user group locations / dates, anywhere in the world.  I will happily add them and they will be available on the application the following day.

Although the application is currently only available for the iOS platform, it will soon also be available for Android and potentially Windows Mobile 7

Please send feedback / suggestions via the contact form.

androidSmall

Application Name: SharePoint (and Project Server) Shenanigans

Application Categories: Social Media, News

Search Keywords: SharePoint, Project Server, Giles Hamson, Shenanigans, RSS, Blog

Screenshots:

photo 3

photo 1

photo 4

Manually adding users to Project Workspace / Project Site in #ProjectServer #PS2010 #PS2007 #EPM

July 11, 2011 Leave a comment

This post will detail the errors seen when trying to add or edit items in a Project Site / Project Workspace in Project Server when adding users manually to a Project Site when they don’t have the correct permission in Project Server. For the purpose of this guide I will base this on Project Server 2010 but the same applies for Project Server 2007.

A bit on the background information to start with so that it makes it clear later on in the post why you see these errors. Project Server has its own permission model that works differently to the SharePoint permission model. Users are added to Project Server via the PWA > Server Settings > Manage Users interface and not the SharePoint Site Actions > Site Permissions interface. This is because users will be added to the PWA site based on their Project Server permissions, to an extent the same can be said for the Project Sites. Although Project Sites appear and function the same as a normal SharePoint site, certain lists / document libraries work very differently to standard SharePoint lists / libraries. The Project Documents library, Risks list and Issues list link back to Project Server so therefore when editing / adding items, firstly the SharePoint permissions will be checked, then the Project Server permissions will be checked. If the user doesn’t have the correct permissions in Project Server, then they will see errors, even if they have full control on the Project Site. Each error is shown below.

In this example I have added a user directly to the Project Site, the user has Full Control of this Project Site, also this user does not have any access to PWA.

Project Documents:

When adding a document to the Project Documents library the user will see this error pop up once they click OK to add the document:

image

When they click, “Go back to Site” they will see that document has still been uploaded:

image

The error is thrown when the Project Server permissions are validated. The error below can be seen in the SharePoint ULS logs:

System.Web.Services.Protocols.SoapException: ProjectServerError(s) LastError=GeneralSecurityAccessDenied Instructions: Pass this into PSClientError constructore to access all error information    at Microsoft.Office.Project.Server.WebServiceProxy.Security.CheckUserProjectPermission(Guid projectUid, Guid categoryPermissionUid)     at Microsoft.Office.Project.PWA.CustomFieldWebControls.CustomPWALinkField.OnLoad(EventArgs e) 

As you can see from the error above, it fails when checking the Custom PWA Link field as this is used to link the Document back to a task in the Project. As this user doesn’t have access to Project Server the error is thrown.

Risks and Issues lists:

Users will not be able to create an item on the risks or issues list if they do not have the correct permissions in Project Server, they will see the error below when clicking New Item:

image

The error below can be seen in the SharePoint ULS logs:

System.Web.Services.Protocols.SoapException: ProjectServerError(s) LastError=GeneralSecurityAccessDenied Instructions: Pass this into PSClientError constructore to access all error information    at Microsoft.Office.Project.Server.WebServiceProxy.Security.CheckUserProjectPermission(Guid projectUid, Guid categoryPermissionUid)     at Microsoft.Office.Project.PWA.CustomFieldWebControls.CustomPWALinkField.OnLoad(EventArgs e)    

As a minimum, users will need permission in Project Server to use these lists, I would also recommend that you let Project Server control the users permissions to the Project Sites. To do this check the box “…automatically synchronize Project Web App users with Project Sites when they are created…”, on the PWA > Server Settings > Project Site Provisioning Settings page.

image

This will synch the users to the Project Site when the Project is published, it will add users to the Project Sites based on their Project Server permissions and therefore less of an administration overhead. The permission the users get on the Project Site can be seen below:

  • Project managers who have published a project or who have Save Project permissions on a project are added to the Project Managers (Microsoft Project Server) site group.
  • Team members with assignments in a project are added to the Team members (Microsoft Project Server) site group.
  • Other Project Server users who have View Project Site permission on a project are added to the Readers (Microsoft Project Server) site group.

Hopefully that explains why you see these errors on the Project Sites.

Project Server 2007 / 2010 scheduled tasks not running #PS2010 #ProjectServer #EPM #PS2007

July 4, 2011 Leave a comment

Scheduled jobs such as the daily scheduled backup in project server not running but work when you run them manually? I have seen this at many clients and the resolution is usually simple.

All of the scheduled jobs in Project Server 2007 / 2010 run from a SharePoint Timer Job, if you look in Central Administration at the timer job definitions you will see your project server jobs. These include:

  • Project Server Cube Admin Job
  • Resource Capacity Job
  • Scheduled Backup Job (one for each item)

These jobs are created in Central Administration when you set up the scheduled jobs in PWA. If you find that some of the scheduled jobs no longer run automatically, editing the time of the job will usually resolve the issue. So for example, if your daily Project backup that scheduled to run at 02:00 is not working automatically, try editing the time of the job to 03:00 and check the following day to confirm it has worked. To confirm it has run you can check the queue history and add in the “Success” job completion state. You can always set the job to run again at 02:00 for the following night and that should still work. You would need to repeat this for all of the scheduled jobs that were not running automatically.

Minimising JavaScript files for production #in #SharePoint #SP2010 #ProjectServer #PS2010

As per my previous post, in my current project we are starting to migrate the whole solution to live.

The project I am working on is a global solution with locations in UK, USA, India, China + others.  As a result of this, like many global projects, we suffer from the available connections.

This is potentially very minor in helping, but as part of the production process we are minimising the JavaScript files.

To do this, I have used the Yahoo compressor which is a java applet where you can pass in the file and output the minimised version.

Download Link: http://yuilibrary.com/downloads/#yuicompressor

How To Documentation: http://developer.yahoo.com/yui/compressor/#using

Example Command Line: java -jar yuicompressor-2.4.6.jar –nomunge –preserve-semi –disable-optimizations <input file> -o <output file>

Useful JavaScript Function – Default parameters within your JavaScript functions #in #SharePoint #SP2010 #PS2010 #ProjectServer

So it has been a while since I have posted anything on the blog.

As I am sure many of you can relate, there comes a time in all projects when you have to concentrate solely on them to ensure that all factors play out as expected.  One of those times would be go live time.

The project I have been working on for the last year is about to go into trial with its first division, so it has been heads down to ensure that all bug fixes and business intelligence data is correct.

As of today, we are officially at a code freeze and we are clearing down the databases to rid them of test data ready for migration to the Production environment and the final integration testing process.

As a result, we can commence blogging again, of which I have a few topics stored up.

First up is…

Default parameters in a JavaScript function

Project Scenario: I created a generic function to contact the User Profile service and set some default global variables when the page loads for the current logged in user.

This had to be extended to cope with me passing a different AD User Name (SAMAccountName) and return the details in a JavaScript object.

So the basic mechanism was there already.

  • I was passing the current user as a variable
  • User Profile Service was already being queried
  • Set the global variables for the current user

I wanted to extend this to take any user, but not upset the other functions that relied on the global variables I was setting in the function.

So essentially I added a setGlobal flag parameter and provided a default to the function so that existing code could work (surrounded by the newly created flag of course) and then implemented what I needed to.

This allowed my existing code to continue to function without issue, but also allowed me to reuse my User Profile functionalities for another purpose.

Examples:

The original idea came from the following blog post:

In my code, I implemented the first method.  In future however I shall certainly use the second approach.