Documentation Center

Changes to the class Baseline 2.5

In the Web Services 2.5 (introduced in release 3.8.0) the Baseline functionality is completely redesigned from BLOBs to database tables. Baseline 2.0 and Baseline 2.5 are not fully backwards compatible, the changes are described here. The largest modification is situated in the Baseline (Report) XML structure. In order to comply with the new API 2.5 standard which forces a strict API by schema validation, the xml namespaces which were present in Basline 2.0 was removed.

Changes in behavior

Input parameters
  • All methods (except the Create functions) expect the element name of the baseline card (= psBaselineId). It is no longer possible to supply the label of the baseline (= psBaseline/psBaselineName). Use GetBaselineId to convert the label of the baseline.
  • The parameter psStartBaseline is removed from all methods. The start baseline is no longer used…
Output parameters
All output parameters which require extra processing and are not part of the call, are no longer returned.
  • The parameter psOutXMLBaseline with the created or updated Baseline XML is removed from the Create and Update methods. Starting from Web Services 2.5 this requires an extra call. The Baseline code doesn't know if the extra information is needed. So, if the calling method really needs an updated Baseline XML, it should do the extra call.

Changes to methods

Baseline Report methods
There are some changes concerning the methods to get or complete a Baseline Report:
  • New methods which groups 2 old functions
  • Some methods are renamed
The following table gives an overview of all methods to get or complete a Baseline Report.
FunctionNamePrevious FunctionNameDescription
GetBaselineGetBaselineThis method generates the Baseline XML
ExpandBaselineGetBaselineReportThis method expands the specified logical objects in the Baseline
ExpandReportExpandBaselineReportThis method expands the specified logical objects in the given Baseline Report
GetReportGetBaseline + ExpandBaselineReportThis method expands all objects in the specified Baseline
CompleteBaselineByModeGetBaseline + CompleteBaselineReportThis method expands and autocompletes the objects in the specified Baseline
CompleteReportByModeCompleteBaselineReportThis method expands and autocompletes the objects in the given Baseline Report
CompleteReportByBaselineCompleteBaselineReportByBaselineThis method extends the given Baseline Report with the specified Baseline
CompleteReportByCandidateCompleteBaselineReportByBaselineThis method extends the given Baseline Report with the specified Baseline using the candidate field on the version objects
Update baseline

The metadata can only be updated by the SetMetadata method. It is no longer possible to update the metadata of the Baseline using the Update method.

Freeze baseline

Starting from Web Services 2.5 the freeze will only throw an error when an unexpected exception occurs.

Before freezing the baseline, some checks are executed, for example 'Are all objects released?'. When one or more checks fail, they are reported in the Baseline Freeze Report XML but no error is thrown. An extra parameter pbOutIsFrozen indicates whether the freeze was executed succesfully or not. So, it is not necessary to load the Baseline Freeze Report XML when the parameter is true.

Changes in XML Signatures

Baseline (Report) XML structure

The Baseline XML is no longer saved in the database as a BLOB. The information of the version selection (LogicalId, VersionNumber, Author, CreationDate and ModificationDate) is extracted during the upgrade to release 3.8.0 from the Baseline XML and saved in a separate table. This allows specific queries which should improve the performance.

However, some of the information which was also part of the Baseline XML is no longer saved in the table and requires extra queries which are not executed by the Baseline functions.

The previous Baseline XML structure could not be validated by a schema, because there was a loop in the namespaces. In order to fix this, we did a straightforward change: all namespaces and their prefices are removed.

The conversion table used is:
Current valueNew value
bl:baselinebaseline
ish:objectsobjects
ish:objectobject
ish:refref
mgmt:createdcreated
bl:versionnumberversionnumber
mgmt:lngreflngref
The following table gives an overview of all changes and the reason for the changes:
ModificationReason
The namespaces are removedThis allows the validition of the XML with a schema.
The label of the objects is no longer returnedIn Web Services 2.0 the label was saved with the Baseline XML. Since this information is not present in the table, the label of the baseline is no longer returned.
No attribute dataref on the elements reportitems in the BaselineReport XMLThe extra attribute dataref requires an extra select. Since, the attribute was added in Web Services 2.0 for the future implementation of the elevator story, the attribute is no longer returned. Workaround via DocumentObj.RetrieveDataObjectByIShLngRefs
No extra elements with the publications on a frozen Baseline XMLIn Web Services 2.0 the publications were saved when freezing the Baseline. Since this information is not present in the table and requires an extra select, the elements are no longer returned. Workaround via PublicationOutput.Containing
No extra attribute versionref on a frozen Baseline XMLIn Web Services 2.0 this information was saved in the frozen Baseline XML. However, this information is not present in the table. Since the requires an extra select AND was only available for a frozen/released Baseline XML, this information will no longer be appended.
No extra objectfragment elements on the bottom of the BaselineReport XMLThese extra elements require a lot of extra processing. In Web Services 2.0 these objectfragment elements are only used when freezing a Baseline.
The metadata of the Baseline is removed from the root nodeIn Web Services 2.0 some metadata of the baseline (e.g released, modified, created) was saved in the Baseline XML. Workaround via Baseline.GetMetadata
The fields FIshVariableAssignments, FIshVariablesInUse, FishTargets, FishFragmentLinks are no longer returnedIn most cases these fields are retrieved without anyone using it. In Publication Manager and PublishService these fields are not used, because the conditions are ignored.
Baseline Modifications XML
The following table gives an overview of all changes and the reason for the changes:
ModificationReason
The namespaces are removedThis allows the validition of the XML with a schema.
The label of the objects is removedIn Web Services 2.0 the label was saved with the Baseline XML. Since this information is no longer saved in the table, the label is removed from the Baseline Modifications XML.
Baseline Freeze Report XML

In Web Services 2.0 the Baseline Freeze Report was an extended Baseline Report XML.

Starting from Web Services 2.5 the Baseline Freeze Report contains a LogObject per publication that references the Baseline.