DocumentObj 2.5 Create

Creates a new object, version and/or language.


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.
plFolderRefLongInIdentifier of the folder.
psIshTypeStringInThe type of the object. Allowed values are: ISHMasterDoc, ISHModule, ISHIllustration, ISHLibrary and ISHTemplate.
psLogicalIdStringInOutThe logical identifier of the object.
  • If no identifier is specified, a new GUID is generated.
  • When an identifier is supplied, the identifier must comply with the element name limitations .
psVersionStringInOutThe version of the object. When no exact version is given, the version number will be returned.
psLanguageStringInThe (working) language of the object.
psResolutionStringInThe resolution of the object. Only used for illustrations: this parameter should be empty for any other object types.
psXMLMetadataStringInMetadata XML structure with the metadata that will be set on the current object.
psEdtStringInThe unique identifier of the electronic document type.
pbDataBlobInThe object content.

Requirements are:

  • The user must have write access for the folder in which the object is going to be created.
  • The type of the object matches the content type of the folder.
  • The mandatory field requirements for each created level have to be met. So the function parameters and especially the content of parameter psXMLMetaData need to specify all mandatory metadata for the object that is created.
  • The valid values for the EDT (electronic document type) are implementation specific.
Some how-to scenarios.
  • How to create a logical level only?
    • The parameters psVersion, psLng, psResolution, psEdt and pbData have to be empty,
    • The parameter psXMLMetadata may not contain any version-level nor language-level fields.
  • How to create a version level only?
    • The parameters psLng, psResolution, psEdt and pbData have to be empty,
    • The parameter psXMLMetadata may not contain any language-level fields.
  • How to create a language level?
    • Fill in all parameters.
    • All plugins have to run successfully, to allow a check in of the object. This includes status transition checks like e.g. the submitted xml has to be valid according its DTD before it is allowed to enter the requested status.
    • The status of the object has to match one of the initial statuses that are configured for this user and object type.
Note that:
  • The folder id can be set to empty ('') when the logical object is already present in the repository. When the object is already present and a folder id is provided, then the provided identifier has to match the identifier of the folder that contains the object.
  • All logical identifiers within Content Manager are in uppercase.
  • You can use the field DOC-LANGUAGE in the parameter psXMLMetadata to set multiple languages.
  • Xml documents stored in the repository are preferably submitted using an UTF-8 or UTF-16 encoding. Upon retrieval from the repository the xml will have UTF-16 as encoding.
  • It is not possible to create objects of the type Baseline. Use the specific WS Baseline Class to handle them.
  • It is not possible to create objects of the type PublicationOutput. Use the specific WS PublicationOutput Class to handle them.
  • The ownership for an object in the repository is inherited from the folder that contains the object.