Utilisation de REST avec des versions

Les versions d'objet peuvent être répertoriées et lues à l'aide du service REST.

Remarque : Nouveauté avec HCL Digital Experience 9.5 CF_173 : l'API de restauration de version prend en charge la restauration des versions de contenu à un niveau précédent.

Extraction de la liste des versions

Vous pouvez extraire une liste de versions en envoyant une demande GET à l'URI suivant :
/item/item-uuid/versions
Un flux contenant les informations d'identification de chaque version, ainsi qu'une relation "versioned-item" établissant la liaison à la version spécifiée, est renvoyé.
Relations de lien de version
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:wcm="wcm/namespace">
  ...
    <link rel="versions" href="/wps/mycontenthandler/!ut/p/wcmrest/item/0d678334-69ae-4d3a-a525-91bb551e5a18/versions"/>
  ...
</entry>
Flux de versions
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:wcm="wcm/namespace">
    <entry>
        <link rel="versioned-item" href="/wps/mycontenthandler/!ut/p/wcmrest/item/0d678334-69ae-4d3a-a525-91bb551e5a18/version/2"/>
        <content>
            <wcm:versionContent>
                <wcm:versionName>2</wcm:versionName>
                <wcm:versionDate>2011-05-30T04:38:49.540Z</wcm:versionDate>
            </wcm:versionContent>
        </content>
    </entry>
    <entry>
        <link rel="versioned-item" href="/wps/mycontenthandler/!ut/p/wcmrest/item/0d678334-69ae-4d3a-a525-91bb551e5a18/version/1"/>
        <content>
            <wcm:versionContent>
                <wcm:versionName>1</wcm:versionName>
                <wcm:versionDate>2011-05-30T04:33:40.677Z</wcm:versionDate>
            </wcm:versionContent>
        </content>
    </entry>
</feed>

Affichage des détails d'une version

Pour afficher les détails d'une version précise, envoyez une demande GET au format suivant :
/item/item-uuid/version/version-name
Par exemple:
GET HTTP/1.0
/wps/mycontenthandler/wcmrest/item/8f055ba2-1bc3-4d21-8443-86274e14dd2c/version/1
Host: www.example.com
Accept: application/atom+xml


HTTP/1.0 200 OK

<entry xmlns="http://www.w3.org/2005/Atom" xmlns:wcm="wcm/namespace">
    <id>0d678334-69ae-4d3a-a525-91bb551e5a181</id>
    <title>SampleNumericComponentTitle</title>
    <link rel="edit" href="/wps/mycontenthandler/!ut/p/wcmrest/LibraryNumericComponent/0d678334-69ae-4d3a-a525-91bb551e5a181"/>
    <link rel="edit-media" type="text/plain" href="/wps/mycontenthandler/!ut/p/wcmrest/LibraryNumericComponent/0d678334-69ae-4d3a-a525-91bb551e5a181"/>
    <link rel="library" href="/wps/mycontenthandler/!ut/p/wcmrest/item/c98d11e1-7f2a-480e-9aac-40eb1949cbda"/>
    <link rel="create-draft" href="/wps/mycontenthandler/!ut/p/wcmrest/item/0d678334-69ae-4d3a-a525-91bb551e5a181/create-draft"/>
    <link rel="change-to-draft" href="/wps/mycontenthandler/!ut/p/wcmrest/item/0d678334-69ae-4d3a-a525-91bb551e5a181/change-to-draft"/>
    <link rel="versions" href="/wps/mycontenthandler/!ut/p/wcmrest/item/0d678334-69ae-4d3a-a525-91bb551e5a181/versions"/>
    <updated>2011-05-30T06:42:10.244Z</updated>
    <author>
        <wcm:distinguishedName>uid=wpsadmin,o=defaultWIMFileBasedRealm</wcm:distinguishedName>
        <uri>/wps/mycontenthandler/!ut/p/digest!6GVkh5Ul75Ln7DdEgvHm_g/um/users/profiles/Z9eAeH1C2JG561RC6JM47H9E4MMG6PHO6JM4C5JD0JMOC6BEEJS464JDG3I56K1</uri>
        <email></email>
        <name>wpsadmin</name>
    </author>
    <wcm:owner>
        <wcm:distinguishedName>uid=wpsadmin,o=defaultWIMFileBasedRealm</wcm:distinguishedName>
        <uri>/wps/mycontenthandler/!ut/p/digest!6GVkh5Ul75Ln7DdEgvHm_g/um/users/profiles/Z9eAeH1C2JG561RC6JM47H9E4MMG6PHO6JM4C5JD0JMOC6BEEJS464JDG3I56K1</uri>
        <email></email>
        <name>wpsadmin</name>
    </wcm:owner>
    <wcm:name>SampleNumericComponentNameUpdated</wcm:name>
    <wcm:description>SampleNumericComponentDescription</wcm:description>
    <wcm:type>LibraryNumericComponent</wcm:type>
    <wcm:state>PUBLISHED</wcm:state>
    <versionContent>
        <wcm:versionName>1</wcm:versionName>
        <wcm:versionDate>2011-05-30T04:33:40.677Z</wcm:versionDate>
    </versionContent>
</entry>
API de restauration de version :
Cette nouvelle API prend en charge la possibilité de restaurer une version de contenu à une version précédente.
Cela correspond aux fonctionnalités et aux versions de l'interface utilisateur Web Content Manager (exemple ci-dessous) :
Restore_version_API_HCL_DX

Utilisation de l'API de restauration de version

Pour restaurer une version de contenu précédente, vous utilisez la demande PUT au format suivant :
Noeud final
Demande PUT à :
http://host:port/wps/mycontenthandler/!ut/p/digest!KG7Oo8qSOni4fLuinAp3sA/
                        wcmrest/item/<UUID of the content>/versions?
                        setVersion=<versionName>&restoreAsPublished=<true|false>
Modèle d'URL :
http://localhost:10039/wps/mycontenthandler/!ut/p/digest!
                        _lcmcV8jAD1wixCjFeNFyw/wcmrest/item/2436ab87-d823-41f3-9a37-64d531d4919b/
                        versions?setVersion=1&restoreAsPublished=false
Corps attendu
Le corps peut avoir la structure WCM de base :
<?xml version="1.0" encoding="UTF-8"?>
                        <feed xmlns="http://www.w3.org/2005/Atom" xmlns:wcm="http://www.ibm.com/xmlns/wcm/8.0">
                        </feed>
                    
En-têtes attendus
Jeton LTPA de l'utilisateur.
Corps Return
La liste des versions. Les résultats sont les mêmes que lors de l'appel de la structure wcmrest/item//versions/.
Exemple :
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:wcm="http://www.ibm.com/xmlns/wcm/8.0">
    <entry>
        <versionContent>
            <wcm:versionName>4</wcm:versionName>
            <wcm:versionDate>2020-03-09T19:45:11.735Z</wcm:versionDate>
        </versionContent>
        <link rel="versioned-item" href="/wps/mycontenthandler/!ut/p/digest!SMx91r5Xh87lqsxXlMQqeQ/wcmrest/item/2436ab87-d823-41f3-9a37-64d531d4919b/version/4" xml:lang="fr-fr" label="Versioned Item"/>
    </entry>
    <entry>
    <versionContent>
            <wcm:versionName>3</wcm:versionName>
            <wcm:versionDate>2020-03-09T19:38:42.133Z</wcm:versionDate>
    </versionContent>
    <link rel="versioned-item" href="/wps/mycontenthandler/!ut/p/digest!SMx91r5Xh87lqsxXlMQqeQ/wcmrest/item/2436ab87-d823-41f3-9a37-64d531d4919b/version/3" xml:lang="fr-fr" label="Versioned Item"/>
    </entry>
    <entry>
    <versionContent>
            <wcm:versionName>2</wcm:versionName>
            <wcm:versionDate>2020-02-26T14:33:19.793Z</wcm:versionDate>
    </versionContent>
    <link rel="versioned-item" href="/wps/mycontenthandler/!ut/p/digest!SMx91r5Xh87lqsxXlMQqeQ/wcmrest/item/2436ab87-d823-41f3-9a37-64d531d4919b/version/2" xml:lang="fr-fr" label="Versioned Item"/>
    </entry>
    <entry>
    <versionContent>
            <wcm:versionName>1</wcm:versionName>
            <wcm:versionDate>2020-02-26T14:33:00.636Z</wcm:versionDate>
    </versionContent>
    <link rel="versioned-item" href="/wps/mycontenthandler/!ut/p/digest!SMx91r5Xh87lqsxXlMQqeQ/wcmrest/item/2436ab87-d823-41f3-9a37-64d531d4919b/version/1" xml:lang="fr-fr" label="Versioned Item"/>
    </entry>
</feed>