EPMFAQ
Project Server Help, FAQs, Blogs, and HowTos
This is The Header Then

Retrieve the Guid of a Custom Field Using its Name

posted May 7th, 2008 by Stephen Sanderlin
1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 4 out of 5)
Loading ... Loading ...

Within the Project Object Model, the Application object has a method, FieldNameToFieldConstant(), that returns a PjField constant for use by the various SetField() and GetField() methods throughout the object model. More information on the SetField Method (and other associated methods) can be found here.

Unfortunately, when using the PSI, there’s no quick way to lookup the Guid for a field. This can be a problem, since the various CustomFieldsRow objects (Task, Resource, Assignment, and Project) do not include the name of the custom field, only the UID (for an example, look at the ProjectCustomFieldsRow entity in the Project 2007 SDK).

Retrieving custom field information in the PSI is accomplished by using the CustomFields web service. The code below is a class that implements a method to retrieve the Guid of a custom field using the field’s name and entity type. I had to chop the code up a lot because of space constraints, so I apologize for the excessive line breaks. This code assumes that you’ve set up a Web Reference to the CustomFields web service named WebSvcCustomFields.




Discuss this post on the EPMFAQ Blog Posts Forum.


Related Posts

  • No Related Posts



Create a Custom Timer Job to Enforce Changes to PWA Permission Levels

posted April 14th, 2008 by Stephen Sanderlin
1 Star2 Stars3 Stars4 Stars5 Stars (3 votes, average: 5 out of 5)
Loading ... Loading ...

In our previous article, we discussed Permission Levels for Project Web Access sites. We talked about how they were too liberal for most organizations and how to change them.

Unfortunately for us, the fact of the matter is that any changes you make to the default permission levels (in PWA or in a PWS) are not permanent, since the two Membership Synchronization processes overwrite them.

The PSI Methods for these two processes (QueueSynchronizeMembershipForWssSite and SynchronizeMembershipForPwaAppRootSite) can be found in the WssInterop service, which resides at http://ServerName/ProjectServerInstanceName/_vti_bin/psi/WssInterop.asmx. As previously discussed, both of them will delete and recreate the permission levels (or roles, depending which part of what document/interface/article/SDK you read) whenever triggered either by you or by Project Server.




Discuss this post on the EPMFAQ Blog Posts Forum.


Related Posts



Adjust the Default Project Web Access Permission Levels

posted April 3rd, 2008 by Stephen Sanderlin
1 Star2 Stars3 Stars4 Stars5 Stars (5 votes, average: 4.8 out of 5)
Loading ... Loading ...

At many of my clients, I encounter situations where the default Permission Levels created by Project Server for Project Web Access sites cause problems. Typically, everything is going along just fine when suddenly one day PWA has a different theme or the “My Tasks” or “My Timesheets” page is blank and/or throws an error. While on occasion the error is legitimate, usually it is due to an inexperienced user editing the Shared version of the page. If you haven’t encountered this issue yourself, at this point you may be wondering how this is possible… The simple answer is that for many organizations, the default Permission Levels grant too much power to non-Administrative users.

When you provision a new Project Web Access site, Project Server creates four Permission Levels (described in this technet article):

  • Web Administrators (Microsoft Office Project Server)
  • Project Managers (Microsoft Office Project Server)



Discuss this post on the EPMFAQ Blog Posts Forum.


Related Posts



Maintenance Plans for Project Server 2007 DBs

posted January 3rd, 2008 by Stephen Sanderlin
1 Star2 Stars3 Stars4 Stars5 Stars (3 votes, average: 4.33 out of 5)
Loading ... Loading ...

As I’ve previously discussed, at my present client we recently were working very closely with Premier Support to resolve some issues with the cube build. Throughout the course of these discussions, I was told that I really should be running DB Maintenance Plans on the PS07 DBs because with the switch to GUIDs in Project Server 2007, the indices in the various databases can become stale very quickly.

My response to Premier was that since Microsoft has provided no guidance on doing this, and since Microsoft has made such a big deal about not touching any of the databases except Reporting (or Published in very limited circumstances) implementers (including myself) are concerned about doing ANYTHING with regards to Maintenance Plans without guidance from Microsoft.

Premier responded that Chris Fiessinger wrote a blog post about this recently. The agent I was working with gave me advice on how to set up the jobs in the maintenance plan, and promised to press the Product Group to put out some official guidance in the near future.




Discuss this post on the EPMFAQ Blog Posts Forum.


Related Posts




The opinions expressed on this site by the authors and those providing comments are theirs alone, and do not reflect the opinions of the respective employers of the authors or any employee thereof. Our respective employers are not responsible for the accuracy of any of the information supplied by on this site.

Terms of Use | Privacy Policy | Publishers

All content on this website is covered by the
Creative Commons Attribution-Share Alike 3.0 United States License.
Theme ©2007 The Heckerped WordPress Theme created by JTk of Doc5 under the Creative Commons Attribution License.