Documentation Center

Baseline 2.5 CanBeFrozen

Used to check whether the baseline can be frozen or not.

The method executes the same checks as the Freeze method without freezing the baseline or labelling the version objects.


Parameters

NameTypeDirectionDescription
psAuthContextStringInOutDeprecated proprietary authentication context only used by .ASMX web services based on internal username/password authentication. Claims based security standards drive all the WCF .SVC web services making this parameter redundant.
psBaselineIdStringInThe element name of the baseline.
psOutXMLBaselineFreezeReportStringInOutThe Baseline Freeze Report XML indicates why the Baseline freeze could not be executed successfully
pbOutCanBeFrozenBooleanOutBoolean that indicates whether the baseline can be frozen or not. When the parameter is false, the reason can be found in the psOutXMLBaselineFreezeReport parameter.

Requirements are:
  • The user must have write access to the baseline.
Note that:
  • When no baseline is found with the supplied psBaselineId, an InvalidObjectException is thrown.
The algorithm is:
  • First the baseline is identified and some minor checks are executed:
    • Is the baseline already frozen?

      Yes, an BaselineAlreadyReleasedException is thrown.

    • Has the user write access?

      No, an ObjectIsReadOnlyException is thrown.

  • Then all publication which reference the baseline are retrieved (see PublicationOutput.UsingBaseline)
  • Each publication must have at least one starting point. So, the fields FISHMASTERREF and FISHRESOURCES should not both be empty. When the publication has no starting point, an FreezeFailureMasterRefMissingException is thrown.
  • For each publication an ExpandBaseline is executed using the values of the following fields:
    • StartLogicalIds = FISHMASTERREF
    • StartResourceLogicalIds = FISHRESOURCES
    • pasLanguages = FISHPUBSOURCELANGUAGES
    • pasIllustrationLanguages = FISHPUBSOURCELANGUAGES
    • pasResourceLanguages = FISHPUBSOURCELANGUAGES
    • pasResolutions = FISHREQUIREDRESOLUTIONS
  • The Baseline Report XML is used to execute the following checks for each item:
    • Is a version selected in the baseline?

      No, a NoVersionSelectedException is inserted in the BaselineFreezeReport XML

    • Is the object available in the requested languages (and resolutions)?

      No, an ObjectMissingException is inserted in the BaselineFreezeReport XML

    • Is the object released?

      No, an ObjectNotReleasedException is inserted in the BaselineFreezeReport XML

  • For all valid (released and unreleased) language objects the hyperlinks, conrefs and variables are checked:
    • Are all variables assigned once?

      For each variable which is not assigned, an VariableNotResolvedException is inserted in the BaselineFreezeReport XML

    • Are no variables assigned more than once?

      For each variable which is assigned more than once, at least 2 DuplicateVariableAssignmentInPublicationExceptions are inserted in the BaselineFreezeReport XML

    • Can all conrefs be resolved?

      For each conref which is not resolved, an ConrefNotResolvedException is inserted in the BaselineFreezeReport XML

    • Can all hyperlinks be resolved?

      For each hyperlink which is not resolved, an HyperlinkTargetMissingException is inserted in the BaselineFreezeReport XML

  • If the Baseline Freeze Report contains exceptions for one of the publications, the method returns false.