Statusing Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Includes methods for managing status updates and assignments in Project Server.
public ref class Statusing : System::Web::Services::Protocols::SoapHttpClientProtocol
[System.Web.Services.WebServiceBinding(Name="StatusingSoap", Namespace="http://schemas.microsoft.com/office/project/server/webservices/Statusing/")]
public class Statusing : System.Web.Services.Protocols.SoapHttpClientProtocol
type Statusing = class
inherit SoapHttpClientProtocol
Public Class Statusing
Inherits SoapHttpClientProtocol
- Inheritance
-
Statusing
- Attributes
Remarks
The Statusing class is used to provide status information and update status on assignments. Statusing generally uses user context-based security. Changes in Project Server 2010 enable reading and updating statusing information without using impersonation.
New methods in Microsoft Project Server 2010 include the following:
- CreateNewAssignmentWithWork(String, Guid, Guid, Guid, Guid, DateTime, DateTime, Double, Boolean, Boolean, Boolean, String)
- ReadStatusForResource(Guid, Guid, DateTime, DateTime)
- SubmitStatusForResource(Guid, Guid[], String)
If the logged-on user is not the specified resource, the ReadStatusForResource and SubmitStatusForResource methods do not require impersonation.
An application user who has the StatusBrokerPermission global permission can use the UpdateStatus(String) method to update assignment status without impersonation, by including the new ResID attribute of the Assn element in the changeXml parameter. For more information about the ChangeList schema, see Introduction to the ChangeList Schema and Statusing ChangeXML.
Note: With Project Server 2010 Service Pack 1 (SP1), you can set the timephased status for manual tasks, by using the UpdateStatus method. Before SP1, you could only set timephased status for auto-scheduled tasks.
Users play three roles in the Statusing environment: Status Manager, Assignment Owner, and Work Resource.
The status manager is sent assignment updates, new assignments, and new tasks for approval. The status manager is most often the project manager. The project manager can delegate this task to another user.
The assignment owner is responsible for the assignment. The assignment owner reports status, makes updates, or delegates as appropriate. Changes made by the assignment owner must be approved by the status manager.
The work resource actually provides the work on this assignment. The work resource can be the same as the assignment owner, but can be different; for example, a foreman can be an assignment owner, and the members of his crew would be the work resources.
The Statusing class also makes use of team resources. A full discussion of team resources is beyond the scope of this section. Team resources are resources that can be given assignments in proxy for a group of resources on a team. Work resources and assignment owners can then reassign work to and from the team resource.
The lifecycle of an assignment can be confusing. There are four places where assignments can be created or stored: the Draft database, the base assignment table, the saved assignment table, and the updated table.
Figure 1. Status update life cycle
Assignments are first created in the original project in the Draft database. When the project is published, the assignment is copied to the base assignment table and an identical copy is copied to the saved assignment table. When the assignment owner or resource makes changes to the assignment, the changes are kept in the saved assignment table. When the assignment owner or resource publishes the changes, the updated assignment is copied to the updated assignment table. The assignments stored in the updated assignment table are visible to the status manager, who can accept or reject the changes. If the status manager accepts these changes, the changes are copied to the new working copy of the project in the Draft database. These changes must be published from the Draft database to the Published database to update the base assignments table with the new information.
Constructors
| Statusing() |
Creates an Statusing object from the ASMX-based Statusing web service. |
Methods
| CreateNewAssignment(String, Guid, Guid, Guid, Guid, DateTime, DateTime, Boolean, Boolean, String) |
Creates an assignment. |
| CreateNewAssignmentWithWork(String, Guid, Guid, Guid, Guid, DateTime, DateTime, Double, Boolean, Boolean, Boolean, String) |
Creates an assignment that includes planned work to be performed. |
| DelegateAssignments(DelegationDataSet, DateTime, String) |
Delegates one or more assignments to another resource. |
| DeleteStatusApprovalHistories(Guid[]) |
Deletes the history of specified status updates approved by the current user. |
| DeleteStatusingInformationForProject(Guid[], DateTime, DateTime) |
Delete Statusing information for one or more projects. |
| GetNewTaskCount() |
Gets the number of new assignments for the current user. |
| ImportTimesheet(Guid) |
Imports verified tasks in the specified timesheet period |
| QueueApplyStatusApprovals(Guid, String) |
Applies accepted or rejected status updates to the Draft database. |
| QueueLockDownTasks(Guid, Guid, ProjectDataSet) |
Locks or unlocks the specified tasks in the |
| ReadAssignmentDependencies(Guid) |
Gets a table of tasks scheduled to finish before a specified assignment can start. Also gets a table of tasks dependent on the assignment's finish date. |
| ReadAssignmentHistory(Guid, AssnHistoryItemType) |
Gets the transaction history of a specified assignment, task, or transaction. |
| ReadAssignments(Guid[]) |
Gets information about the specified assignments that are owned or managed by the user. |
| ReadAssignmentsForDelegation(DelegationFilterType, Guid) |
Gets a filtered list of assignments that the current user is able to delegate. |
| ReadImportTimesheetData(Guid) |
Gets items that contain verified assignments in the specified timesheet period. |
| ReadMySchedule(DateTime, DateTime) |
Gets the current user's schedule for the specified time period. |
| ReadPublishedNoteForTask(Guid) |
Gets the entire published note for the specified task in .rtf format. |
| ReadStatus(Guid, DateTime, DateTime) |
Gets Statusing data for the specified assignment or for all assignments owned by the current user. |
| ReadStatusApprovalDetails(Guid) |
Gets a list of changes associated with a submitted assignment. |
| ReadStatusApprovalsInProcess(Guid) |
Gets pending status updates approved by the specified user. |
| ReadStatusApprovalsSubmitted(Boolean) |
Gets approval results for submitted status updates. |
| ReadStatusForResource(Guid, Guid, DateTime, DateTime) |
Gets Statusing data for the specified assignment or for all assignments of the specified resource. Does not require impersonation of the resource. |
| ReadStatusTimephasedData(Guid, Guid, DateTime, DateTime, Int64) |
Gets the timephased actuals for a specified assignment within the specified dates. |
| ReadSummaryTaskPath(Guid) |
Gets the summary task hierarchy for the specified task. |
| ReadTaskDataForAwiopJSON(Guid) | |
| ReadTeamStatus() |
Gets task management data for the current user's team resources. |
| ReadTransactionDetails(Guid) |
Gets the list of changes associated with the specified status update. |
| SetAssignmentWorkData(String) |
Sets the remaining, total, and actual work durations of an assignment. |
| SubmitStatus(Guid[], String) |
Submits one or more modified saved assignments to the project manager for approval. |
| SubmitStatusForResource(Guid, Guid[], String) |
Submits one or more modified and saved assignments for the specified resource to the project manager for approval. Does not require impersonation of the resource. |
| UpdateStatus(String) |
Applies changes to saved assignments. The |
| UpdateStatusApprovals(StatusApprovalDataSet) |
Sets summary information for submitted status updates. |