After reading all about the new SharePoint CSOM release but unfortunately not being able to read about the changes to the Project Online CSOM library included in the SharePoint release, I decided to take a sneak-peek myself to see what’s new.
Fortunately my favourite .Net Reflector tool (JetBrains dotPeek) came in handy here in addition to a diff tool (WinMerge) it is possible to identify the changes to the Microsoft.ProjectServer.Client.dll file immediately!
What’s new?
Well, below I have extracted from the differences the new properties and methods available, the list is probably not 100% complete as I focused most on the areas I use: Projects, Tasks, Assignments, Workflows and Timesheets, err so let’s say it’s pretty complete, however I may have missed some things.
In short the obvious new items relate to previously announced changes, such as the Project ID feature now available in Project Online; DraftProject.ProjectIdentifier, and the Create Project Site from workflow feature; PublishedProject.CreateProjectSite(string siteName).
However notably missing is the bulk update of custom fields method I would have expected (previously released for Project Online workflows), that’s slightly annoying if say you have an App that updates projects in bulk or something similar (*ahem*).
What else is interesting?
Some new Public Properties made available to developers:
- (DateTime) DraftProject.UtilizationDate
- (ProjectUtilizationType) DraftProject.UtilizationType
- (ProjectSummaryTask) Project.ProjectSummaryTask
- (StatusApprovalType) StatusAssignment.ApprovalStatus
- (StatusAssignmentHistoryLineCollection) StatusAssignment.History
- (Guid) StatusText.ProjectTaskId
As well as one new Public Method made available:
- ProjectContext.GetDeletedPublishedAssignments(deletedDate)
Based on the names I think it’s safe to assume that most of those relate to the new 2016 Resource Engagements feature which is already available on Project Online, however apart from the new ProjectSummaryTask property unfortunately there doesn’t seem to be any breaking news here to report! :(
I guess we’ll just have to wait for the official announcement to hear any more..
(Mostly) Complete list of modified classes
Note: I’ve ignored a lot of minor changes that appear to be simple refactoring’s and focused only on the new Public Properties and Methods while ignoring a few Internal methods and such.
Assignment.cs
-
public WorkContourType WorkContourType
DraftProject.cs
-
public string ProjectIdentifier
-
public DateTime UtilizationDate
-
public ProjectUtilizationType UtilizationType
Project.cs
-
public ProjectSummaryTask ProjectSummaryTask
ProjectContext.cs
-
public DeletedPublishedAssignmentCollection GetDeletedPublishedAssignments(DateTime deletedDate)
ProjectServer.cs
-
public DeletedPublishedAssignmentCollection GetDeletedPublishedAssignments(DateTime deletedDate)
PublishedProject.cs
-
public string ProjectIdentifier
-
public DateTime UtilizationDate
-
public ProjectUtilizationType UtilizationType
-
public void CreateProjectSite(string siteName)
StatusAssignment.cs
-
public StatusApprovalType ApprovalStatus
-
public StatusAssignmentHistoryLineCollection History
-
public DateTime Modified
StatusText.cs
-
public Guid ProjectTaskId
(Mostly) Complete list of new classes and enumerations
-
public class DeletedPublishedAssignment : ClientObject
-
public class DeletedPublishedAssignmentCollection : ClientObjectCollection
-
public class ProjectSummaryTask : Task
-
public enum ProjectUtilizationType
-
public class StatusAssignmentHistoryLine : ClientObject
-
public class StatusAssignmentHistoryLineCollection : ClientObjectCollection
-
public enum StatusUpdateType
-
public enum WorkContourType
Hope that satisfied your curiosity…