API REST et associations de contenu

Si vous créez ou étendez une application et voulez gérer des associations de contenu avec cette application, vous pouvez utiliser les API distantes du portail. Ces API permettent d'extraire la liste des associations de contenu puis de créer, de mettre à jour ou de supprimer des associations.

En fonction de l'architecture REST (Representational State Transfer), les API représentent les informations sur les associations de contenu sous forme de flux Atom. Pour effectuer des actions, vous envoyez des requêtes HTTP à des adresses URL spécifiques.

Extraction de toutes les associations de contenu

Cette requête renvoie un flux contenant toutes les associations de contenu disponibles dans le système.
URL
http://hostname:port/context_root/mypoc?uri=contentmapping:objecttype:CONTENT_NODE&mode=download
Méthode HTTP
GET
Liens
Des informations de lien sont fournies pour chaque entrée dans le flux Atom, conformément à l'attribut rel.
Tableau 1. Informations de lien dans le flux Atom pour l'extraction des associations de contenu
Lien Description
rel="self" Lien à cette entrée Atom.
rel="edit" Lien vers l'élément pouvant être utilisé pour les opérations POST, PUT et DELETE.
rel="related" Lien pouvant être utilisé pour afficher la page de contenu Web à laquelle l'association de contenu est associée.
rel="first" Lien vers le premier fragment de flux. Ce lien n'est applicable que si un fragment de flux est concerné.
rel="last" Lien vers le dernier fragment de flux. Ce lien n'est applicable que si un fragment de flux est concerné.
rel="previous" Lien vers le fragment de flux précédant le fragment de flux actuel. Ce lien n'est applicable que si un fragment de flux est concerné et qui ne commence pas au début du flux.
rel="next" Lien vers le fragment de flux suivant. Ce lien n'est applicable que si un fragment de flux est concerné et qui ne contient pas la dernière entrée du flux.
Paramètres d'URL pris en charge
Tableau 2. Paramètres pris en charge pour les requêtes d'extraction des associations de contenu
Paramètre Description
start-index Identifie l'index de départ du fragment de flux concerné. La valeur par défaut est 0.
max-results Identifie le nombre maximal d'entrées devant être traitées par cette requête, conformément à la configuration du serveur.

Extraction des associations de contenu pour une page de contenu Web spécifique

Cette requête renvoie un flux contenant les associations de contenu définies pour une page de contenu Web spécifique.
URL
La page de contenu Web est identifiée par son ID objet ou son nom unique.

http://hostname:port/context_root/mypoc?uri=contentmapping:oid:serialized_object_id

http://hostname:port/context_root/mypoc?uri=contentmapping:oid:unique_name

Méthode HTTP
GET
Liens
Des informations de lien sont fournies pour chaque entrée dans le flux Atom, conformément à l'attribut rel.
Tableau 3. Informations de lien dans le flux Atom pour l'extraction d'associations de contenu pour une page de contenu Web spécifique
Lien Description
rel="self" Lien à cette entrée Atom.
rel="edit" Lien vers l'élément pouvant être utilisé pour les opérations POST, PUT et DELETE.
rel="related" Lien pouvant être utilisé pour afficher la page de contenu Web à laquelle l'association de contenu est associée.

Modification des associations de contenu

Cette requête met à jour les associations de contenu définies pour une page de contenu Web spécifique.
URL
La page de contenu Web est identifiée par son ID objet ou son nom unique.

http://hostname:port/context_root/mypoc?uri=contentmapping:oid:serialized_object_id

http://hostname:port/context_root/mypoc?uri=contentmapping:oid:unique_name

Méthode HTTP
PUT
Liens
Des informations de lien sont fournies pour chaque entrée dans le flux Atom, conformément à l'attribut rel.
Tableau 4. Informations de lien dans le flux Atom pour la modification des associations de contenu
Lien Description
rel="self" Lien à cette entrée Atom.
rel="edit" Lien vers l'élément pouvant être utilisé pour les opérations POST, PUT et DELETE.
rel="related" Lien pouvant être utilisé pour afficher la page de contenu Web à laquelle l'association de contenu est associée.
Paramètres d'URL pris en charge
Tableau 5. Paramètres pris en charge pour les requêtes de modification des associations de contenu
Paramètres Description
mettre à jour Les valeurs suivantes sont prises en charge pour le paramètre update :
merge
Ce mode fusionne les associations de contenu incluses dans la requête aux associations de contenu sur le serveur. La requête met à jour les associations de contenu existantes et en ajoute de nouvelles, mais ne supprime pas les associations de contenu figurant déjà sur le serveur.
replace
Ce mode remplace toutes les associations de contenu courantes sur le serveur par les associations de contenu spécifiées dans la requête. La requête met à jour les associations de contenu existantes, en ajoute de nouvelles et supprime les associations de contenu sur le serveur qui ne figurent pas dans la requête.
delete
Ce mode supprime l'association de contenu spécifiée dans la requête de la page de contenu Web.

Suppression des associations de contenu

Cette requête supprime toutes les associations de contenu pour une page de contenu Web spécifique ou une association de contenu individuelle à un objet de contenu spécifique.
URL
La page de contenu Web est identifiée par son ID objet ou son nom unique.

http://hostname:port/context_root/mypoc?uri=contentmapping:oid:serialized_object_id

http://hostname:port/context_root/mypoc?uri=contentmapping:oid:unique_name

Méthode HTTP
DELETE
Paramètres d'URL pris en charge
Tableau 6. Paramètres pris en charge dans les requêtes de suppression d'associations de contenu pour une page de contenu Web
Paramètres Description
contenu Indique les associations de contenu à supprimer. Si le paramètre content n'est pas spécifié, toutes les associations de contenu de la page de contenu Web sont supprimées.

Si l'ID de contenu d'un objet de contenu est spécifié comme valeur pour le paramètre content, une seule association de contenu est supprimée. Il s'agit de l'association de contenu qui mappe la page de contenu Web à l'objet de contenu spécifié. Les autres associations de contenu ne sont pas affectées.

Exemple de document de flux Atom

<?xml version="1.0" encoding="UTF-8"?>
<atom:feed xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:app="http://www.w3.org/2007/app" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:contentmappings="http://www.ibm.com/xmlns/prod/content-mappings/v1.0" xmlns:atom="http://www.w3.org/2005/Atom" xml:base="http://www.example.com:10039/wps/mypoc/!ut/p/contentmapping/objecttype%3aCONTENT_NODE">
	<atom:title>Content Mappings Feed</atom:title>
	<atom:author>
		<atom:name>WebSphere Portal</atom:name>
	</atom:author>
	<atom:link href="/wps/mycontenthandler/!ut/p/contentmapping/objecttype%3aCONTENT_NODE?max-results=2" rel="self" type="application/atom+xml"/>
	<atom:id>contentmapping:objecttype%3aCONTENT_NODE</atom:id>
	<atom:updated>2009-08-25T12:10:51.641Z</atom:updated>
	<atom:entry>
		<atom:id>contentmapping:oid6_2QC68B1A0GVJE0IOA0R0Q02040</atom:id>
		<atom:title>6_2QC68B1A0GVJE0IOA0R0Q02040</atom:title>
		<atom:link href="/wps/mycontenthandler/!ut/p/contentmapping/oid6_2QC68B1A0GVJE0IOA0R0Q02040" rel="self" type="application/atom+xml"/>
		<atom:link href="/wps/mycontenthandler/!ut/p/contentmapping/oid6_2QC68B1A0GVJE0IOA0R0Q02040" rel="edit" type="application/atom+xml"/>
		<atom:link href="/wps/myportal/!ut/p/c4/04_SB8K8xLLM9MSSzPy8xBz9CP0os3ijQGczCydDRwP3MC9XA09_R4Mgg0ADIwMTA_2CbEdFAHZmm-M!/" type="text/html"/>
		<atom:updated>2009-08-25T12:10:51.805Z</atom:updated>
		<atom:content type="application/xml">
			<contentmappings:content-mapping-info id="6_2QC68B1A0GVJE0IOA0R0Q02040">
				<contentmappings:content-mapping content-id="f40429bb-0cb5-4c0f-8080-cfb66f0e9b91" default="true"/>
			</contentmappings:content-mapping-info>
		</atom:content>
	</atom:entry>
	<atom:entry>
		<atom:id>contentmapping:oid6_2QC68B1A00VBC0IOSHU0A220O6</atom:id>
		<atom:title>cnCTFPortlet</atom:title>
		<atom:link href="/wps/mycontenthandler/!ut/p/contentmapping/oid6_2QC68B1A00VBC0IOSHU0A220O6" rel="self" type="application/atom+xml"/>
		<atom:link href="/wps/mycontenthandler/!ut/p/contentmapping/oid6_2QC68B1A00VBC0IOSHU0A220O6" rel="edit" type="application/atom+xml"/>
		<atom:link href="/wps/myportal/!ut/p/c4/04_SB8K8xLLM9MSSzPy8xBz9CP0os3ijQGczCydDRwODMCdnA0__YI9QA0cjIwN_M_2CbEdFAB2I97c!/" type="text/html"/>
		<atom:updated>2009-08-25T12:10:51.810Z</atom:updated>
		<atom:content type="application/xml">
			<contentmappings:content-mapping-info id="6_2QC68B1A00VBC0IOSHU0A220O6">
				<contentmappings:content-mapping content-id="6f0b7a804d426a9a8d53ede9170f1e3d" default="true"/>
				<contentmappings:content-mapping content-id="291410004ce29075b879f90c4ec954a0" default="false"/>
			</contentmappings:content-mapping-info>
		</atom:content>
	</atom:entry>
	<atom:link href="/wps/mypoc/!ut/p/contentmapping/objecttype%3aCONTENT_NODE?mode=download&start-index=2&max-results=2" rel="next" type="application/atom+xml"/>
</atom:feed>