Skip to content
/

It's been a while having time and content to post on this blog but I'm back again. :) I'm currently at the Project Conference 2007 in Seattle and by visiting the sessions and talking to the guys at Microsoft developing the solution I got a lot of answers for things I couldn't find on the […]

It's been a while having time and content to post on this blog but I'm back again. :)

I'm currently at the Project Conference 2007 in Seattle and by visiting the sessions and talking to the guys at Microsoft developing the solution I got a lot of answers for things I couldn't find on the web or in the SDK.
The next couple of weeks I will try to post the things I found out.

Also Prometric was present so you could do the official Project exams. Being bold I just entered the "Managing Projects with Microsoft Office Project Server" exam and guess what, I'm now a Microsoft Certified Technology Specialist!

/

When you want to use the PSI interface you need to have a PSContextInfo Class. Inside a Project Server Event this will be provided so you don’t need to worry about it’s contents. But outside the Event you will need to create one from scratch.
One of the properties you need is the Site GUID. According to the SDK you can get this value in your code using three different methods.
I use the third option in my application, but it returned the wrong GUID. After some debugging I finally found the problem.

When you want to use the PSI interface you need to have a PSContextInfo Class. Inside a Project Server Event this will be provided so you don't need to worry about it's contents (except when you want to impersonate as a different user). But outside the Event you will need to create one from scratch.
One of the properties you need is the Site GUID. According to the SDK you can get this value in your code using three different methods:

  1. Hard-code the GUID (Not very flexible)
  2. Use the Windows SharePoint Services SPSite.ID property in the Windows SharePoint Services (Very heavy on resources)
  3. Call the SiteData Web Service with the PWA URL (The best solution, if you ask me)

I use the third option in my application, but it returned the wrong GUID. After some debugging I finally found the problem, I requested the URL http://localhost/PWA/ and there I made my mistake. The trailing / results in getting the GUID of the root site, not the PWA site!

I'm sure I'm not the first one falling in this pitfall, but I'm writting this to prevent you from doing the same.

/

I was browsing through the Project Server 2007 TimePeriodDataSet.TimePeriodsRow Members and found the following empty entries I could fill.

I was browsing through the Project Server 2007 TimePeriodDataSet.TimePeriodsRow Members and found the following empty entries I could fill:

Name Description Enumeration
RES_TIMESHEET_MGR_UID Specifies the resource unique identifier of the (next) enterprise resource reviewing on this timesheet.
TS_WEEK_STARTS_ON Specifies the first day of the week for this timesheet. 0 = Sunday
1 = Monday
2 = Tuesday
3 = Wednesday
4 = Thursday
5 = Friday
6 = Saturday
WPRD_UID Specifies the period unique identifier of the timeperiod.