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



Looking behind “An unexpected error has occurred” messages

posted March 31st, 2008 by Stephen Sanderlin
1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 5 out of 5)
Loading ... Loading ...

At one time or another, almost everybody recieves an error while working in Project Server 2007’s Project Web Access. By default, SharePoint (and therefore Project Server 2007) are configured to present what are known as “custom” errors. These are an inherent part of ASP.NET that allow developers to create friendly error pages to report errors rather than the stock ones provided by the .NET Framework. These pages are generally simplistic and often leave out a great deal of information, such as stack traces. The reason for these pages is chiefly to spare the user the gory details of whatever unhandled exception just occurred. Unfortunately, not every error is or can be logged. This causes an obvious problem in Project Server deployments — especially when trying to resolve a transient error.




Discuss this post on the EPMFAQ Blog Posts Forum.


Related Posts

  • No Related Posts



EPM is a Business Enabler

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

When developing their software, Microsoft has always made ease of use and installation a priority. Microsoft puts a significant amount of effort into making the User Interfaces in their products efficient, intuitive, and friendly. This holds true for not only their client products, but also for their server products as well. Ease of deployment is one of the primary reasons why I love working with Microsoft products. Less time spent fighting through a difficult product installation means more time for implementing a truly integrated and comprehensive solution.




Discuss this post on the EPMFAQ Blog Posts Forum.


Related Posts



Consultants Provide Strategic Vision

posted March 14th, 2008 by Stephen Sanderlin
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

In today’s modern business environment, most organizations are familiar with the concept of a technology consultant. However, while many organizations tend to use the title consultant and contractor interchangeably, the job of a consultant differs significantly from that of a contractor.

A contractor is typically a specialist in a particular discipline or product, often serving as staff augmentation or hired to perform a specific task. Typically, the job that needs to be done is relatively simple, but the organization lacks the capacity or skill to perform it. Contrast this with consultants, who are typically multidisciplinary generalists who specialize in the creation of one or more types of comprehensive solutions that leverage technology to solve business problems. They may or may not specialize in a particular platform or technology, and they may be very experienced technicians. As such, consultants may perform technical or implementation duties in addition to their other duties. When all is said and done, the true value of a consultant is their ability to “see the forest for the trees”, which is to say that they can view the work as a whole and strategize without getting overly caught up in the details until necessary.



Discuss this post on the EPMFAQ Blog Posts Forum.


Related Posts



Your Take: Language Packs and Customized Themes

posted March 6th, 2008 by Stephen Sanderlin
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

One of my clients has recently deployed a Sandbox of Project Server 2007 with MOSS 2007 (both RTM versions). During the course of this deployment they installed a number of the SharePoint Language Packs, in addition to creating a custom theme for Project Web Access. After deployment, they started having problems with incorrect rendering of the ASPX pages, along with some people recieving numerous authentication prompts (sometimes up to 17). In addition, for some people the page renders correctly on the initial load but manifests these problems if refreshed.

I believe the problem is one of two things: the permissions on the custom theme files, or some unforseen interaction with the language packs. The client is presently conducting further testing to confirm this theory. I have also suggested they fully patch both PS and MOSS from RTM to the Post-SP1 Hotfix Rollup.



Discuss this post on the EPMFAQ Blog Posts Forum.


Related Posts

  • No Related Posts



Are you recieving a ReportingWssSyncListFailed error after modifying a Project Workspace or deploying a customized Project Workspace Template?

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

A few of our clients have reported that after customizing a Project Workspace or deploying a customized Project Workspace, they begin to see Reporting (WSS Sync) errors in their queue:

Queue Errors

When they view the details of this error, they see the following details (duplicate lines removed for your convenience):

Error summary/areas:
Reporting Wss list sync failed
ReportingWssSyncListFailed
Reporting message processor failed
ReportingWSSSyncMessageFailed
Queue
GeneralQueueJobFailed

Error details:

<errinfo>
<general>
<class name="Reporting Wss list sync failed">
<error id="24018" name="ReportingWssSyncListFailed" uid="7e7fa8da-24d4-4c4d-a9ab-c32ed46e205c" SPListType="1100" Error="Failed to prepare the transfer of SP list 1100 for project ‘89ec6841-1f56-46b1-b97b-d775f0ca7e06′. The field Category was missing from the SP list and was ignored." />
</class>
<class name="Reporting message processor failed">
<error id="24016" name="ReportingWSSSyncMessageFailed" uid="79d63cef-5a83-46b1-bc6c-c0124311b60f" QueueMessageBody="ProjectUID=’89ec6841-1f56-46b1-b97b-d775f0ca7e06′. ForceFullSync=’False’" Error="RDS failed while trying to sync one or more SP lists. The RDS queue message will be retried." />
</class>
<class name="Queue">
<error id="26000" name="GeneralQueueJobFailed" uid="b04b7077-731c-4149-87ac-89af07377229" JobUID="ba088e4e-781a-4bc4-b787-3e24ac2849ec" ComputerName="EPM2007DEMO" GroupType="ReportingWSSSync" MessageType="WSSSyncMessageEx" MessageId="1" Stage="" />
</class>
</general>
</errinfo>



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.