Changes to the class PublicationOutput 2.5
Describes the changes in the class PublicationOutput25 that were made in release 2.5 of the API.
Changes to behavior
- ISHObjectList no longer contains 'ISHNotFound' elements
-
In
Web Services 2.0anishobjectelement withishtype"ISHNotFound" is added when a given or referenced LogicalId cannot be found in the database.Since an extra postprocessing step is required to check that all objects are present and to add extra ishobjects if necessary, the extra
ishobjectelement is no longer appended. - Behavior of the latestafterfilter keyword in the VersionNumber
-
The keyword
latestafterfiltermeans that the latest version number is calculated after all filtering is applied. However, in most cases the used filtering is on one of the following fields: language, resolution, or status. For performance reasons, beginning withWeb Services 2.5the latest version after applying the filtering on language, resolution and status is calculated. Any other filtering is executed after calculating the version and does not change the version number. - Behavior of Metadata Filter operators
-
In
Web Services 2.0it was possible to use each filter operator on all fields independent on the data type of the field. Although it is technically possible to use the operator like on a date, the result is not always predictable. Beginning withWeb Services 2.5, all filter operators on all field types is no longer supported. - DocumentObj25 cannot be used for publications
-
You should use
PublicationOutput25for publications. InWeb Services 2.0it was still possible to use DocumentObj20 for publication and publication version objects.DocumentObj25only returns and accepts objects of type 'ISHMasterDoc', 'ISHModule', 'ISHIllustration', 'ISHLibrary' or 'ISHTemplate'. - There is no Publication25.asmx
-
All methods to access all levels of the publication objects can be found in PublicationOutput25.
In Web Services 2.0 it was not possible to get the metadata of the lng level using the Publication20 methods and it was not possible to get only the metadata of publication or publication version object using the PublicationOutput20 methods.
PublicationOutput25 is similar to DocumentObj25. Depending on the given parameters and the requested metadata the correct level is returned.
Changes to the methods getting the publish report
- Only methods using IshLngRef
-
In
Web Services 2.0, there was aGetReportmethod which allowed you to get the report when you knew LogicalId, Version, Language combination and Output format.In Web Services 2.5there are only "ByIshLngRef" methods remaining. - Get the report in small chunks
-
In
Web Services 2.0, theGetReportByIshLngRefmethod immediately returned the full publish report as a string. If the publish report was very big, sending the large xml over web services could give issues (e.g. timeout, maximum response size,...).In order to avoid those issues the method "GetReportByIshLngRef" is replaced by a combination of 2 methods which allow retrieving the publish report in small chunks:- First use
PublicationOutput25.GetPublishReportInfoByIshLngRefto retrieve the reference of the current publish report (IshPublishReportRef) and some information like the size of the report - Then use that information to retrieve the publish report in small chunks using
PublicationOutput25.GetNextPublishReportChunkByIshLngRef
- First use
Changes to update methods
- has an "ByIshLngRef" alternative to allow faster retrieval of the language object via the language reference instead of finding the language object based on LogicalId, Version, Language combination and Output format
- has a
psXMLRequiredCurrentMetadataparameter allowing extra checks on the metadata to ensure that the metadata was not changed by someone else in the meanwhile
| PublicationOutput 2.5 | Remarks | |
|---|---|---|
|
Publication20.Create
|
Create
| The folder reference must be supplied as a number, but can be 0 or negative when you are adding a new version or language to an existing logical object |
| Publication20.Copy | N/A | The Copy method is deprecated, but can be replaced by a Baseline.Copy call followed by a PublicationOutput.Create call. |
| Publication20.Delete | Delete | (*) |
| Publication20.SetMetaData | SetMetadata | No changes |
PublicationOutput20.Cancel PublicationOutput20.CancelByIshLngRef | N/A |
The Cancel methods are deprecated, but can be replaced by a SetMetadata call with:
|
|
PublicationOutput20.Create
|
Create
| There are some changes in the parameters which are all related to the fact that the method can be used to create the logical and/or version level
|
| PublicationOutput20.Delete | Delete | (*) |
| PublicationOutput20.DeleteByIshLngRef | DeleteByIshLngRef | (*) |
PublicationOutput20.Publish PublicationOutput20.PublishByIshLngRef | N/A |
The
Publish methods are deprecated, but can be replaced by a SetMetadata call with:
Since the SetMetadata call is not returning any metadata, you must do a GetMetaData call after the SetMetadata call to retrieve the EventId:
|
PublicationOutput25.Release PublicationOutput25.ReleaseByIshLngRef | N/A |
The Release methods are deprecated, but can be replaced by a Baseline.Freeze (if the baseline was not frozen yet) followed by a SetMetadata call with:
|
| SetMetaData | SetMetadata | The parameters psXMLMetadata and psXMLRequiredCurrentMetadata are switch in order. |
| SetMetaDataByIshLngRef | SetMetadataByIshLngRef | The parameters psXMLMetadata and psXMLRequiredCurrentMetadata are switch in order. |
| N/A | SetMetadataByIshLngRefs | This new method allows you to update multiple fields for multiple objects
Some remarks:
|
| DocumentObj20.AddShortcut | N/A | The Each logical object is added to the reference folder in a new transaction. If one of the actions fails, the exception is reported but the method will continue with the next object. If the object was already referenced in the folder, the object is skipped silently without throwing an exception. |
| DocumentObj20.RemoveShortcut | N/A | The Each logical object is removed from the reference folder in a new transaction. If one of the actions fails, the exception is reported but the method will continue with the next object. If the object was not referenced in the folder, the object is skipped silently without throwing an exception. |
| DocumentObj20.Move | N/A | The Each logical object is moved in a new transaction. If one of the actions fails, the exception is reported but the method will continue with the next object. |