Release Notes for 6.2.2.3 (from 6.2.1.2)

Table of Content

Notes

Changes to the Setup

Changes to the Athenticate API

Changes to the Application API

Changes to the Object Model

Notes

The current notes are for the API version 6.2.2.3, based on version 6.2.1.2.

Changes to the Setup

None

Changes to the Authenticate API

There has been no change in the Authenticate API.

Changes to the Application API

This section describes the changes to the Application Web service. The old and new version of each operation signature is detailed, using Java syntax. Further notes are added, if required.

In the current release, we decided uniformize the exception reporting. It is our hope that the API will be more robust and easier to understand and use. Looking at the method signature changes, you will notice that most operations do not throw exceptions. Instead, the list of exceptions is returned in the result of the method, using either a Result, a SingleResult or an ArrayResult. This result now also contains a list of warnings that are not considered as sufficient reasons to make the operation fail but are worth to be notified.

Result Objects
Result Contains a list of exceptions and a list of warnings.
SaveResult Deprecated. Extends Result. Contains one RPMObject and the inherited lists of exceptions and warnings.
SingleResult Extends SaveResult. Replaces SaveResult and is backward compatible. Contains the inherited RPMObject and the lists of exceptions and warnings.
LoadResult Deprecated. Extends Result. Contains a list of RPMObject and the inherited lists of exceptions and warnings.
ArrayResult Extends LoadResult. Replaces LoadResult and is backward compatible. Contains the inherited lists of RPMObject, exceptions and warnings.

Application API Objects

Result
taskSuccessfull renamed successful
exceptions renamed errors
warningFree added
warnings added
PropertyArray
propertyList renamed properties
RPMException
severity added

RPMException's severity can be set to any of the following levels.

SeverityLevel
Information Not used yet.
Warning Indicates a situation that is not normal but not sufficient to make the operation fail. Example is when the object being loaded refers to an object that no longer exists. In this case, the reference will be set to null and a warning will be added to the list.
Error Indicates an error situation: the operation will fail. Many such errors can accumulate during the validation phase.
SevereError Indicates a severe error situation: the operation will fail and terminate immediately. Hence, if there is such an error, it should be the last one of the exception list.
FatalError Indicates a fatal error situation: the Web service will stop.

Application API Operations

checkOut
void checkOut(String sessionID, RPMObject rpmObject)
Result checkOut(String sessionID, RPMObject rpmObject)

This operation is not yet implemented.

checkIn
void checkIn(String sessionID, RPMObject rpmObject)
Result checkIn(String sessionID, RPMObject rpmObject)

This operation is not yet implemented.

undoCheckOut
void undoCheckOut(String sessionID, RPMObject rpmObject)
Result undoCheckOut(String sessionID, RPMObject rpmObject)

This operation is not yet implemented.

getAllProperties
PropertyArray getAllProperties(String sessionID) throws RPMException
PropertyArray getSystemInfo(String sessionID) throws RPMException

This operation's result now includes key "com.ibm.rpm.ws.database.version".

getProperty
String getProperty(String sessionID, String key) throws RPMException
-- Deleted operation --

This information is available through getSystemInfo(). You then have to find the value matching the key.

getDatabaseVersion
String getDatabaseVersion(String sessionID) throws RPMException
-- Deleted operation --

This information is available through getSystemInfo(). You then have to find the value matching the key "com.ibm.rpm.ws.database.version".

save
SaveResult save(String sessionID, RPMObject rpmObject, RPMObjectScope rpmObjectScope, ReloadType reloadType) throws RPMException
SingleResult save(String sessionID, RPMObject rpmObject, RPMObjectScope rpmObjectScope, ReloadType reloadType)
delete
void delete(String sessionID, RPMObject rpmObject) throws RPMException
Result delete(String sessionID, RPMObject rpmObject)
loadFromXpath
LoadResult loadFromXpath(String sessionID, String xpath, RPMObjectScope scope) throws RPMException
ArrayResult loadFromXpath(String sessionID, String xpath, RPMObjectScope scope)
loadFromID
SingleResult loadFromID(String sessionID, RPMObject rpmObject, RPMObjectScope scope) throws RPMException
SingleResult loadFromID(String sessionID, RPMObject rpmObject, RPMObjectScope scope)
loadArrayFromID
LoadResult loadArrayFromID(String sessionID, RPMObjectArray rpmObjectArray, RPMObjectScope scope) throws RPMException
ArrayResult loadArrayFromID(String sessionID, RPMObjectArray rpmObjectArray, RPMObjectScope scope)
startWorkflow
Result startWorkflow(String sessionID, WorkflowProcess process, RPMObject object, String initiatorId) throws RPMException
SingleResult startWorkflow(String sessionID, WorkflowProcess process, RPMObject object, Resource initiator)

Please note that the initiatorId parameter has been added late in the 1.2 version and only for one of our clients. So it might be new to you. Secondly, startWorkflow will eventually return an object that represents the workflow instance that it created. This workflow instance will then be used to control it using other operations like pauseWorkflow, resumeWorkflow, stopWorkflow, etc. This object is currently set to null.

assignScoreCard
SingleResult assignScoreCard(String sessionID, RPMObject objectToAssign, RPMObjectScope objectToAssignScope, Scorecard scoreCardToAssign, ReloadType reloadType) throws RPMException
SingleResult assignScoreCard(String sessionID, RPMObject objectToAssign, RPMObjectScope objectToAssignScope, Scorecard scoreCardToAssign, ReloadType reloadType)
publishScorecard
SingleResult publishScorecard(String sessionID, AssignedScorecard assignedScorecard, AbstractScorecardScope scorecardScope) throws RPMException
SingleResult publishScorecard(String sessionID, AssignedScorecard assignedScorecard, AbstractScorecardScope scorecardScope)
acceptTaskAssignmentChanges
SaveResult acceptTaskAssignmentChanges(String sessionID, TaskAssignment taskAssignment, TaskAssignmentScope scope, boolean acceptEETC, boolean acceptForecastDates) throws RPMException
SingleResult acceptTaskAssignmentChanges(String sessionID, TaskAssignment taskAssignment, TaskAssignmentScope scope, boolean acceptEETC, boolean acceptForecastDates)
rejectTaskAssignmentChanges
SaveResult rejectTaskAssignmentChanges(String sessionID, TaskAssignment taskAssignment, TaskAssignmentScope scope, boolean rejectEETC, boolean rejectForecastDates) throws RPMException
SingleResult rejectTaskAssignmentChanges(String sessionID, TaskAssignment taskAssignment, TaskAssignmentScope scope, boolean rejectEETC, boolean rejectForecastDates)
copyProposedToPlan
SaveResult copyProposedToPlan(String sessionID, WorkElement workElement, WorkElementScope workElementScope) throws RPMException
SingleResult copyProposedToPlan(String sessionID, WorkElement workElement, WorkElementScope workElementScope)
commitAffectedResources
SaveResult commitAffectedResources(String sessionID, GenericProject genericProject, WorkElementScope workElementScope) throws RPMException
SingleResult commitAffectedResources(String sessionID, GenericProject genericProject, WorkElementScope workElementScope)
replaceProfileByResource
void replaceProfileByResource(String sessionID, Profile profile, Resource resource) throws RPMException
Result replaceProfileByResource(String sessionID, Profile profile, Resource resource)
replaceResourceByProfile
-- New operation --
Result replaceResourceByProfile(String sessionID, ResourceTaskAssignment assignment)
transferUnderScope
void transferUnderScope(String sessionID, RPMObject element, ScopeElement scopeElement) throws RPMException
Result transferUnderScope(String sessionID, RPMObject element, ScopeElement scopeElement)

This operation is not fully implemented and tested. It will be available in a future release. Its parameters might change.

transferUnderWBS
void transferUnderWBS(String sessionID, WorkElement workElement, RPMObject element) throws RPMException
Result transferUnderWBS(String sessionID, WorkElement workElement, RPMObject element)

This operation is not fully implemented and tested. It will be available in a future release. Its parameters might change.

Changes to the Object Model

This section describes the changes to the object model, sorted per package, then per object and then per field.

applicationadministration

AttributeScope
attribute renamed attributes
classification renamed classifications
category renamed categories
CalendarDay added
CalendarException added
CurrencyScope
currencyExchangeRanges renamed exchangeRanges
Geographical
Geographical structure was changed to replace the typed arrays of children with a single array of Geographical objects.
GeographicalScope
children added
regions removed
countries removed
states removed
cities removed
locations removed
Organizational
Organizational structure was changed to replace the typed arrays of children with a single array of Organizational objects.
OrganizationalScope
children added
organizations removed
departments removed
groups removed
offices removed
RPMCalendar
exceptions type changed CalendarExceptions

asset

AssetScope
organizationalAssignment renamed assetOrganizationalAssignment
assetResourceAssignment renamed assetResourceAssignments
crossChargeFinancial renamed crossChargeFinancials
depreciationSchedule renamed depreciationSchedules
CrossChargeFinancialsScope
chargeType added

clientcostcenter

ClientModuleScope
clientCostCenters renamed clients

contract

No change in this package.

customfield

CustomPortletCategory
customPortlets renamed children
CustomPortletScope
customPortlets renamed children

document

DocumentElement
documentElements renamed children
DocumentScope
documentElements renamed children
GenericDocument
statusUpdate renamed statusUpdates
URL renamed UrlDocument

expense

No change in this package.

financial

FinancialModule
timeCodeCategories replaced by timeCodeGroups
FinancialModuleScope
chargeCodeStages type changed boolean
timeCodeCategories replaced by timeCodeGroups

framework

No change in this package.

resource

Pool
securityRole renamed securityGroup
PoolScope
securityGroup added
ResourceAttributeCompetencyClassification
resourceAttributes renamed attributes
ResourceAttributeSkillClassification
resourceAttributes renamed attributes
ResourceAttributeScope
proficiencyLevel type changed boolean
Resource
projectHistory renamed projectHistories
securityRole renamed securityGroup
executiveRole renamed executiveSecurityRole
ResourceScope
resourceRates renamed rates
taskAssignments added
securityGroup added
executiveSecurityRole added

scopemanagement

AggregateScope
scopeElements renamed children
AggregateScopeTask
financialAssignments renamed wbsFinancials
ScopeElement
project added
resourceAssignments replaced by resourceTaskAssignments
ScopeElementScope
project added
resourceAssignments replaced by resourceTaskAssignments
scopeElements renamed children
wbsFinancial renamed wbsFinancials
worksheetFinancial renamed worksheetFinancials

scorecard

No change in this package.

security

GenericSecurityRole added
SecurityRole
name added
securityRoles added
SecurityRoleCategory added
SecurityGroup modified
SecurityGroupScope
parent added
ActionItemSecurityRole
-- Many fields -- added
ChangeRequestSecurityRole
-- Many fields -- added
DefectSecurityRole
-- Many fields -- added
DeliverableSecurityRole
-- Many fields -- added
DocumentSecurityRole
-- Many fields -- added
IssueSecurityRole
-- Many fields -- added
NotesMinutesSecurityRole
-- Many fields -- added
ProjectSecurityRole
-- Many fields -- added
RequirementSecurityRole
-- Many fields -- added
RiskSecurityRole
-- Many fields -- added
ServiceRequestSecurityRole
-- Many fields -- added
TaskSecurityRole
-- Many fields -- added
ActionItemSecurityRoleType
ActionItemWorkflowVisitor added
ChangeRequestSecurityRoleType
ChangeRequestWorkflowVisitor added
DefectSecurityRoleType
DefectWorkflowVisitor added
DeliverableSecurityRoleType
DeliverableWorkflowVisitor added
DocumentSecurityRoleType
DocumentWorkflowVisitor added
FolderSecurityRoleType
FolderWorkflowVisitor added
IssueSecurityRoleType
IssueWorkflowVisitor added
NotesMinutesSecurityRoleType
NotesMinutesWorkflowVisitor added
ProjectSecurityRoleType
ProjectWorkflowVisitor added
ExecutiveRoles added
RequirementSecurityRoleType
RequirementWorkflowVisitor added
RiskSecurityRoleType
RiskWorkflowVisitor added
ServiceRequestSecurityRoleType
ServiceRequestWorkflowVisitor added
TaskSecurityRoleType
TaskWorkflowVisitor added

timesheet

AbstractTimesheet
Changed to abstract class
ResourceTimesheetTaskAssignment
timesheetTasksAssignments renamed timesheetTaskAssignments
SummaryTimesheet
complete added

wbs

AggregateNode
workElements renamed children
ProfileScope
profileCompetencyAssignment renamed profileCompetencyAssignments
profileSkillAssignment renamed profileSkillAssignments
ResourceTaskAssignmentScope
parent type changed RPMObjectScope
TaskAssignment
plannedDurationHours added
plannedFinishDate removed
plannedStartDate removed
proposedFinishDate removed
proposedStartDate removed
WorkElement
lastModifiedDate added
project type changed
renamed
WorkElement
containingProject
WorkElementScope
financialAssignments removed
parent renamed containingProject
relatedAttributeAssignments added
scopeAssignedScorecards renamed relatedAssignedScorecards
timecode renamed
type changed
timecodes
boolean
workElements renamed children

workflow

No change in this package.