Utilisation de REST avec des éléments (version 8.5 CF03 ou plus)

Vous pouvez utiliser le service REST de Web Content Manager pour créer, lire, mettre à jour et supprimer des éléments.

Créer

Vous pouvez utiliser le service REST de Web Content Manager pour créer, lire, mettre à jour et supprimer tous les types d'élément qui appartiennent à un des types de conteneur d'élément suivants :
  • Contenu
  • Zone de site
  • Contenu par défaut d'un modèle de contenu
  • Zone de site par défaut d'un modèle de zone de site

Il existe deux manières d'exécuter ces opérations. La première consiste à traiter chaque élément individuellement à l'aide d'un URI et à utiliser des verbes HTTP (GET, PUT, POST, DELETE) pour les manipuler. Vous pouvez également mettre à jour plusieurs éléments à l'aide d'une demande PUT.

Vous pouvez créer un élément en envoyant une demande POST à l'un des URI suivants avec une entrée Atom représentant le titre de l'élément :
Elément de contenu
/Content/content-id/elements
Zone de site
/SiteArea/site-area-id/elements
Contenu par défaut d'un modèle de contenu
/ContentTemplate/template-id/Prototype/elements
Contenu par défaut d'un modèle de zone de site
/SiteAreaTemplate/template-id/Prototype/elements
Remarque : Le type de l'élément à créer doit être spécifié dans la zone de type de l'entrée qui est envoyée.
Par exemple:
HTTP/1.1 POST /wps/mycontenthandler/wcmrest/ContentTemplate/12015598-24c4-40f6-9be0-68c52663c03f/Prototype/elements/

<?xml version="1.0" encoding="UTF-8"?>
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:wcm="http://www.ibm.com/xmlns/wcm/8.0">
    <title>MyDateElement</title>
    <wcm:name>MyDateElement</wcm:name>
    <wcm:type>DateComponent</wcm:type>
    <content type="application/vnd.ibm.wcm+xml">
        <wcm:date type="DateTime">2014-08-05T06:01:07.152Z</wcm:date>
    </content>
</entry>

HTTP/1.1 201 Created
Content-Type: application/atom+xml
Content-Location: /wps/mycontenthandler/wcmrest/ContentTemplate/3f6311ae-d277-42d0-869c-eeb7a28ba754/Prototype/elements/MyDateElement

<?xml version="1.0" encoding="UTF-8"?>
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:wcm="http://www.ibm.com/xmlns/wcm/8.0">
    <title>MyDateElement</title>
    <wcm:name>MyDateElement</wcm:name>
    <wcm:type>TextComponent</wcm:type>
    <link rel="self" href="/wps/mycontenthandler/wcmrest/ContentTemplate/3f6311ae-d277-42d0-869c-eeb7a28ba754/Prototype/elements/MyDateElement" xml:lang="fr-fr" label="Read"/>
    <link rel="edit-media" href="/wps/mycontenthandler/wcmrest/ContentTemplate/3f6311ae-d277-42d0-869c-eeb7a28ba754/Prototype/elements/MyDateElement" type="text/plain" xml:lang="fr-fr" label="Edit Media"/>
    <link rel="edit" href="/wps/mycontenthandler/wcmrest/ContentTemplate/3f6311ae-d277-42d0-869c-eeb7a28ba754/Prototype/elements/MyDateElement" xml:lang="fr-fr" label="Edit"/>
    <content type="application/vnd.ibm.wcm+xml">
        <wcm:date type="DateTime">2014-08-05T06:01:07.152Z</wcm:date>
    </content>
</entry>

Mettre à jour

Vous pouvez mettre à jour un élément en envoyant une demande PUT à l'un des URI suivants :
Elément de contenu
/Content/content-id/elements/element-name
Zone de site
/SiteArea/site-area-id/elements/element-name
Contenu par défaut d'un modèle de contenu
/ContentTemplate/template-id/Prototype/elements/element-name
Contenu par défaut d'un modèle de zone de site
/SiteAreaTemplate/template-id/Prototype/elements/element-name
Par exemple:
HTTP/1.1 PUT /wps/mycontenthandler/wcmrest/ContentTemplate/3f6311ae-d277-42d0-869c-eeb7a28ba754/Prototype/elements/MyDateElement
Content-Type: application/atom+xml

<entry xmlns="http://www.w3.org/2005/Atom" xmlns:wcm="http://www.ibm.com/xmlns/wcm/8.0">
    <title xml:lang="fr-fr">MyDateElement</title>
    <wcm:name>MyDateElement with a new name</wcm:name>
    <wcm:type>DateComponent</wcm:type>
    <link rel="self" href="/wps/mycontenthandler/wcmrest/ContentTemplate/3f6311ae-d277-42d0-869c-eeb7a28ba754/Prototype/elements/MyDateElement" xml:lang="fr-fr" label="Read"/>
    <link rel="edit-media" href="/wps/mycontenthandler/wcmrest/ContentTemplate/3f6311ae-d277-42d0-869c-eeb7a28ba754/Prototype/elements/MyDateElement" type="application/vnd.ibm.wcm+xml" xml:lang="fr-fr" label="Edit Media"/>
    <link rel="edit" href="/wps/mycontenthandler/wcmrest/ContentTemplate/3f6311ae-d277-42d0-869c-eeb7a28ba754/Prototype/elements/MyDateElement" xml:lang="fr-fr" label="Edit"/>
    <content type="application/vnd.ibm.wcm+xml">
        <wcm:date type="DateTime">2013-08-05T06:01:07.152Z</wcm:date>
    </content>
</entry>

HTTP/1.1 200 OK
Content-Type: application/atom+xml

<entry xmlns="http://www.w3.org/2005/Atom" xmlns:wcm="http://www.ibm.com/xmlns/wcm/8.0">
    <title xml:lang="fr-fr">MyDateElement</title>
    <wcm:name>MyDateElement with a new name</wcm:name>
    <wcm:type>DateComponent</wcm:type>
    <link rel="self" href="/wps/mycontenthandler/wcmrest/ContentTemplate/3f6311ae-d277-42d0-869c-eeb7a28ba754/Prototype/elements/MyDateElement" xml:lang="fr-fr" label="Read"/>
    <link rel="edit-media" href="/wps/mycontenthandler/wcmrest/ContentTemplate/3f6311ae-d277-42d0-869c-eeb7a28ba754/Prototype/elements/MyDateElement" type="application/vnd.ibm.wcm+xml" xml:lang="fr-fr" label="Edit Media"/>
    <link rel="edit" href="/wps/mycontenthandler/wcmrest/ContentTemplate/3f6311ae-d277-42d0-869c-eeb7a28ba754/Prototype/elements/MyDateElement" xml:lang="fr-fr" label="Edit"/>
    <content type="application/vnd.ibm.wcm+xml">
        <wcm:date type="DateTime">2013-08-05T06:01:07.152Z</wcm:date>
    </content>
</entry>

Lire

Vous pouvez lire un élément en envoyant une demande GET à l'un des URI suivants :
Elément de contenu
/Content/content-id/elements/element-name
Zone de site
/SiteArea/site-area-id/elements/element-name
Contenu par défaut d'un modèle de contenu
/ContentTemplate/template-id/Prototype/elements/element-name
Contenu par défaut d'un modèle de zone de site
/SiteAreaTemplate/template-id/Prototype/elements/element-name
Par exemple:
HTTP/1.1 GET /wps/mycontenthandler/wcmrest/ContentTemplate/3f6311ae-d277-42d0-869c-eeb7a28ba754/Prototype/elements/MyDateElement
Accept: application/atom+xml

HTTP/1.1 200 OK
Content-Type: application/atom+xml

<?xml version="1.0" encoding="UTF-8"?>
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:wcm="http://www.ibm.com/xmlns/wcm/8.0">
    <title xml:lang="fr-fr">MyDateElement</title>
    <wcm:name>MyDateElement</wcm:name>
    <wcm:type>DateComponent</wcm:type>
    <link rel="self" href="/wps/mycontenthandler/wcmrest/ContentTemplate/3f6311ae-d277-42d0-869c-eeb7a28ba754/Prototype/elements/MyDateElement" xml:lang="fr-fr" label="Read"/>
    <link rel="edit-media" href="/wps/mycontenthandler/wcmrest/ContentTemplate/3f6311ae-d277-42d0-869c-eeb7a28ba754/Prototype/elements/MyDateElement" type="application/vnd.ibm.wcm+xml" xml:lang="fr-fr" label="Edit Media"/>
    <link rel="edit" href="/wps/mycontenthandler/wcmrest/ContentTemplate/3f6311ae-d277-42d0-869c-eeb7a28ba754/Prototype/elements/MyDateElement" xml:lang="fr-fr" label="Edit"/>
    <content type="application/vnd.ibm.wcm+xml">
        <wcm:date type="DateTime">2014-08-05T06:01:07.152Z</wcm:date>
    </content>
</entry>

Supprimer

Vous pouvez supprimer un élément en envoyant une demande DELETE à l'un des URI suivants :
Elément de contenu
/Content/content-id/elements/element-name
Zone de site
/SiteArea/site-area-id/elements/element-name
Contenu par défaut d'un modèle de contenu
/ContentTemplate/template-id/Prototype/elements/element-name
Contenu par défaut d'un modèle de zone de site
/SiteAreaTemplate/template-id/Prototype/elements/element-name
Par exemple:
HTTP/1.1 DELETE /wps/mycontenthandler/wcmrest/ContentTemplate/3f6311ae-d277-42d0-869c-eeb7a28ba754/Prototype/elements/MyDateElement

HTTP/1.1 200 OK

Lecture de flux avec plusieurs éléments

Vous pouvez obtenir des flux en envoyant une demande GET aux URI suivants :
Elément de contenu
/Content/content-id/elements/element-name
Zone de site
/SiteArea/site-area-id/elements/element-name
Contenu par défaut d'un modèle de contenu
/ContentTemplate/template-id/Prototype/elements/element-name
Contenu par défaut d'un modèle de zone de site
/SiteAreaTemplate/template-id/Prototype/elements/element-name
Par exemple:
HTTP/1.1 GET /wps/mycontenthandler/wcmrest/Content/4f9dfaa1-a823-4964-9583-8bbd69504595/elements
Accept: application/atom+xml

HTTP/1.1 200 OK

<?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">
    <title xml:lang="fr-fr">Elements Feed</title>
    <updated>2014-08-08T04:50:01.839Z</updated>
    <link rel="parent" href="/wps/mycontenthandler/wcmrest/Content/4f9dfaa1-a823-4964-9583-8bbd69504595" xml:lang="fr-fr" label="Parent"/>
    <entry>
        <title xml:lang="fr-fr">MyRichTextElement</title>
        <wcm:name>MyRichTextElement</wcm:name>
        <wcm:type>RichTextComponent</wcm:type>
        <link rel="alternate" href="/wps/mycontenthandler/wcmrest/Content/4f9dfaa1-a823-4964-9583-8bbd69504595/elements/MyRichTextElement" xml:lang="fr-fr" label="Read"/>
        <content type="text/html"><![CDATA[<p dir="ltr">This is some rich text</p>
]]&gt;</content>
    </entry>
    <entry>
        <title xml:lang="fr-fr">MyDateComponent</title>
        <wcm:name>MyDateComponent</wcm:name>
        <wcm:type>DateComponent</wcm:type>
        <link rel="alternate" href="/wps/mycontenthandler/wcmrest/Content/4f9dfaa1-a823-4964-9583-8bbd69504595/elements/MyDateComponent" xml:lang="fr-fr" label="Read"/>
        <content type="application/vnd.ibm.wcm+xml">
            <wcm:date type="DateTime">2014-08-06T15:00:00.000Z</wcm:date>
        </content>
    </entry>
    <entry>
        <title xml:lang="fr-fr">MyTextComponent</title>
        <wcm:name>MyTextComponent</wcm:name>
        <wcm:type>TextComponent</wcm:type>
        <link rel="alternate" href="/wps/mycontenthandler/wcmrest/Content/4f9dfaa1-a823-4964-9583-8bbd69504595/elements/MyTextComponent" xml:lang="fr-fr" label="Read"/>
        <content type="text/plain">This is some text</content>
    </entry>
</feed>

Lecture en ligne avec plusieurs éléments

Vous pouvez obtenir un élément d'une entrée en envoyant une demande GET aux URI suivants :
Elément de contenu
/Content/content-id/
Zone de site
/SiteArea/site-area-id/
Contenu par défaut d'un modèle de contenu
/ContentTemplate/template-id/Prototype/
Contenu par défaut d'un modèle de zone de site
/SiteAreaTemplate/template-id/Prototype/
Par exemple:
HTTP/1.1 GET /wps/mycontenthandler/wcmrest/Content/4f9dfaa1-a823-4964-9583-8bbd69504595
Accept: application/atom+xml

HTTP/1.1 200 OK

<?xml version="1.0" encoding="UTF-8"?>
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:wcm="http://www.ibm.com/xmlns/wcm/8.0">
    <id>wcmrest:4f9dfaa1-a823-4964-9583-8bbd69504595</id>
    <title xml:lang="fr-fr">MyContentItem</title>
    <summary xml:lang="fr-fr"></summary>
    <wcm:name>MyContentItem</wcm:name>
    <wcm:type>Content</wcm:type>
    ... some content elided ...
    <content type="application/vnd.ibm.wcm+xml">
        <wcm:content xmlns="http://www.ibm.com/xmlns/wcm/8.0">
            <elements xmlns:atom="http://www.w3.org/2005/Atom">
                <element name="MyRichTextElement">
                    <title xml:lang="fr-fr">MyRichTextElement</title>
                    <type>RichTextComponent</type>
                    <data type="text/html"><![CDATA[<p dir="ltr">This is some rich text</p>]]&gt;</data>
                </element>
                <element name="MyDateComponent">
                    <title xml:lang="fr-fr">MyDateComponent</title>
                    <type>DateComponent</type>
                    <data type="application/vnd.ibm.wcm+xml">
                        <date type="DateTime">2014-08-06T15:00:00.000Z</date>
                    </data>
                </element>
                <element name="MyTextComponent">
                    <title xml:lang="fr-fr">MyTextComponent</title>
                    <type>TextComponent</type>
                    <data type="text/plain">This is some text</data>
                </element>
            </elements>
        </wcm:content>
    </content>
</entry>

Mise à jour de plusieurs éléments

Vous pouvez ajouter, retirer ou mettre à jour les éléments d'un objet en envoyant une demande PUT qui spécifie les éléments qui doivent être présents sur l'objet. Les éléments qui n'existent pas sur l'objet sont ajoutés. Les éléments qui ne sont pas spécifiés dans la demande seront retirés. Les éléments existants seront mis à jour.

Vous pouvez modifier les éléments d'un objet en envoyant une demande PUT aux URI suivants :
Elément de contenu
/Content/content-id/
Zone de site
/SiteArea/site-area-id/
Contenu par défaut d'un modèle de contenu
/ContentTemplate/template-id/Prototype/
Contenu par défaut d'un modèle de zone de site
/SiteAreaTemplate/template-id/Prototype/
Par exemple:
HTTP/1.1 GET /wps/mycontenthandler/wcmrest/Content/4f9dfaa1-a823-4964-9583-8bbd69504595
Accept: application/atom+xml

HTTP/1.1 200 OK

<?xml version="1.0" encoding="UTF-8"?>
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:wcm="http://www.ibm.com/xmlns/wcm/8.0">
    <id>wcmrest:4f9dfaa1-a823-4964-9583-8bbd69504595</id>
    <title xml:lang="fr-fr">MyContentItem</title>
    <summary xml:lang="fr-fr"></summary>
    <wcm:name>MyContentItem</wcm:name>
    <wcm:type>Content</wcm:type>
    ... some content elided ...
    <content type="application/vnd.ibm.wcm+xml">
        <wcm:content xmlns="http://www.ibm.com/xmlns/wcm/8.0">
            <elements xmlns:atom="http://www.w3.org/2005/Atom">
                <element name="MyRichTextElement">
                    <title xml:lang="fr-fr">MyRichTextElement</title>
                    <type>RichTextComponent</type>
                    <data type="text/html"><![CDATA[<p dir="ltr">This is some rich text</p>]]&gt;</data>
                </element>
                <element name="MyDateComponent">
                    <title xml:lang="fr-fr">MyDateComponent</title>
                    <type>DateComponent</type>
                    <data type="application/vnd.ibm.wcm+xml">
                        <date type="DateTime">2014-08-06T15:00:00.000Z</date>
                    </data>
                </element>
                <element name="MyTextComponent">
                    <title xml:lang="fr-fr">MyTextComponent</title>
                    <type>TextComponent</type>
                    <data type="text/plain">This is some text</data>
                </element>
            </elements>
        </wcm:content>
    </content>
</entry>
Cette réponse est utilisée pour effectuer les modifications suivantes :
  1. Supprimez MyTextComponent.
  2. Modifiez MyRichTextElement.
  3. Ajoutez un élément nommé MyNewTextElement.
HTTP/1.1 PUT /wps/mycontenthandler/wcmrest/Content/4f9dfaa1-a823-4964-9583-8bbd69504595
Content-Type: application/atom+xml

<?xml version="1.0" encoding="UTF-8"?>
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:wcm="http://www.ibm.com/xmlns/wcm/8.0">
    <id>wcmrest:4f9dfaa1-a823-4964-9583-8bbd69504595</id>
    <title xml:lang="fr-fr">MyContentItem</title>
    <summary xml:lang="fr-fr"></summary>
    <wcm:name>MyContentItem</wcm:name>
    <wcm:type>Content</wcm:type>
    ... some content elided ...
    <content type="application/vnd.ibm.wcm+xml">
        <wcm:content xmlns="http://www.ibm.com/xmlns/wcm/8.0">
            <elements xmlns:atom="http://www.w3.org/2005/Atom">
                <element name="MyRichTextElement">
                    <title xml:lang="fr-fr">MyRichTextElement</title>
                    <type>RichTextComponent</type>
                    <data type="text/html"><![CDATA[<p dir="ltr">This is some rich text that has been modified</p>]]&gt;</data>
                </element>
                <element name="MyDateComponent">
                    <title xml:lang="fr-fr">MyDateComponent</title>
                    <type>DateComponent</type>
                    <data type="application/vnd.ibm.wcm+xml">
                        <date type="DateTime">2014-08-06T15:00:00.000Z</date>
                    </data>
                </element>
                <element name="MyNewTextElement">
                    <title xml:lang="fr-fr">MyNewTextElement</title>
                    <type>TextComponent</type>
                    <data type="text/plain">This is the newly created text element</data>
                </element>
            </elements>
        </wcm:content>
    </content>
</entry>


HTTP/1.1 200 OK

<?xml version="1.0" encoding="UTF-8"?>
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:wcm="http://www.ibm.com/xmlns/wcm/8.0">
    <id>wcmrest:4f9dfaa1-a823-4964-9583-8bbd69504595</id>
    <title xml:lang="fr-fr">MyContentItem</title>
    <summary xml:lang="fr-fr"></summary>
    <wcm:name>MyContentItem</wcm:name>
    <wcm:type>Content</wcm:type>
    ... some content elided ...
    <content type="application/vnd.ibm.wcm+xml">
        <wcm:content xmlns="http://www.ibm.com/xmlns/wcm/8.0">
            <elements xmlns:atom="http://www.w3.org/2005/Atom">
                <element name="MyRichTextElement">
                    <title xml:lang="fr-fr">MyRichTextElement</title>
                    <type>RichTextComponent</type>
                    <data type="text/html"><![CDATA[<p dir="ltr">This is some rich text that has been modified</p>]]&gt;</data>
                </element>
                <element name="MyDateComponent">
                    <title xml:lang="fr-fr">MyDateComponent</title>
                    <type>DateComponent</type>
                    <data type="application/vnd.ibm.wcm+xml">
                        <date type="DateTime">2014-08-06T15:00:00.000Z</date>
                    </data>
                </element>
                <element name="MyNewTextElement">
                    <title xml:lang="fr-fr">MyNewTextElement</title>
                    <type>TextComponent</type>
                    <data type="text/plain">This is the newly created text element</data>
                </element>
            </elements>
        </wcm:content>
    </content>
</entry>