Lotus Quickr es un software de colaboración de equipos diseñado para transformar la manera en que se comparten los documentos y el contenido Web que ayuda a los usuarios a colaborar y trabajar eficientemente entre equipos. Lotus Quickr proporciona un conjunto de API púbicas que permiten acceder a contenidos dentro de Lotus Quickr para construir soluciones que respondan a las necesidades de los clientes.
En las versiones previas a la 8.1.1 de Lotus Quickr, las API públicas soportaban únicamente servicios relacionados con documentación. En su versión 8.1.1, Lotus Quickr mejora los servicios basados en Representational State Transfer (Transferencia de estado representacional - REST) y proporciona características para permitir a los usuarios obtener, crear, actualizar y eliminar contenidos wiki y blog a través de servicios basados en REST. Los usuarios también pueden realizar operaciones coordinadas mediante comentarios de los contenidos wiki y blog.
A fin de explicar los servicios basados en REST de contenidos wiki y blog, se describen los métodos HTTP, los parámetros de solicitud y los patrones URL soportados. Además, se incluyen solicitudes y respuestas de muestra, así como también operaciones de creación, lectura, actualización y eliminación (es decir, operaciones CRUD) en contenidos y comentarios wiki y blog.
Finalmente, se presentan códigos de muestra en vivo que muestran cómo listar entradas de blog en una biblioteca blog, cómo crear entradas de blog y cómo comentar una entrada de blog para ayudarlo a comprender con mayor profundidad estos servicios basados en REST.
Para la total comprensión de este artículo, se requieren los siguientes conocimientos previos:
- Lotus Quickr
- Servicios REST
- Formato Atom Syndication
- Conocimientos básicos de IBM WebSphere® Portal e IBM Lotus Web Content Management
- Programación Java™
En esta sección, analizaremos el contexto servlet y todos los servicios soportados para wikis y blogs como el patrón URL del contexto servlet, los métodos HTTP soportados y los parámetros de solicitud. También se incluirán una solicitud y una respuesta de muestra para cada servicio.
A diferencia de los servicios REST de documentos de Lotus Quickr, los cuales son dm/atom, el contexto servlet de los servicios REST de wiki y blog es webcontent/rest y se puede describir de la siguiente forma:
- Todas las rutas completas de los servicios deben seguir el patrón
<protocol>://<host>:<port>/webcontent/rest/<url-pattern>.
Por ejemplo: si el protocolo es HTTP, el servidor es lwptsthink43.cn.example.com
y el puerto es 10038; la ruta completa de este servicio será:
http://lwptsthink43.cn.example.com:10038/webcontent/rest/introspection - Este servicio devuelve un documento de servicio que contendrá un vínculo hacia bibliotecas y la fuente.
- Este servicio soporta únicamente el método GET.
- Dicho método GET requiere de autenticación y no se soporta el acceso anónimo.
- No se soportan argumentos adicionales ni encabezados HTTP.
A continuación se incluye una solicitud de muestra y una respuesta de muestra (ver Listado 1).
Solicitud de muestra: GET /webcontent/rest/introspection HTTP/1.1
Listado 1. Respuesta de muestra
<?xml version="1.0" encoding="UTF-8"?>
<service xmlns="http://purl.org/atom/app#"
xmlns:atom="http://www.w3.org/2005/Atom">
<workspace>
<atom:title type="text">MediaLibrary Documents</atom:title>
<collection
href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/libraries/feed">
<atom:title type="text">All Libraries</atom:title>
<accept>application/*,image/*,*/*</accept>
</collection>
<collection href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/libraries/
feed?category=wiki">
<atom:title type="text">All wiki libraries</atom:title>
<accept>application/*,image/*,*/*</accept>
</collection>
<collection href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/libraries/
feed?category=blog">
<atom:title type="text">All blog libraries</atom:title>
<accept>application/*,image/*,*/*</accept>
</collection>
</workspace>
</service>
|
Este servicio se puede describir de la siguiente manera:
- Devuelve una fuente de las bibliotecas de componentes en Lotus Web Content Management.
- Soporta únicamente el método GET.
- Dicho método GET requiere de autenticación y no soporta el acceso anónimo.
Los argumentos soportados se detallan en la Tabla 1.
Tabla 1. Argumentos soportados para <host>:<port>/libraries/feed
| Argumento | Valor | En solicitud | Descripción |
|---|---|---|---|
| type (tipo) | wiki, blog, all (todos) | Opcional | Limita la lista de bibliotecas al tipo especificado |
| placeId (identificación de lugar) | identificación de lugar | Opcional | Limita la lista a las bibliotecas de componentes contenidas en el lugar especificado |
| page (página) | 1, 2, 3, etc | Opcional | Especifica la página a obtener considerando un tamaño de hoja constante |
| pagesize (tamaño de la página) | 10, 20, etc | Opcional | Especifica la cantidad de elementos que se incluirán en una solicitud paginada |
| sK | published (publicado), created (creado), modified (modificado) | Opcional | Clave de clasificación de la respuesta |
| sO | dsc, asc | Opcional | Orden de clasificación de la respuesta |
| acls | false (falso), true (verdadero) | Opcional | Especifica si los permisos del usuario autenticado se devuelven en cada biblioteca |
En la anterior tabla:
- El valor predeterminado de todos los argumentos está marcado en negrita.
- Todos los lugares del argumento placeId pueden incluir varias bibliotecas wiki o blog; si el usuario especifica la identificación de lugar, sólo se devolverán las bibliotecas de ese lugar.
- Si el argumento acls está establecido en “true”, se devuelven los permisos de los usuarios actuales sobre cada recurso. Los permisos son: View (ver), Edit (editar), Delete (eliminar) y AddChild (agregar hijo).
- El rol Manager (gerente) posee todos los permisos; el rol Editor (editor) posee los permisos View, Edit y AddChild; el rol Contributor (colaborador) posee los permisos View y AddChild; y el rol Reader (lector) posee únicamente el permiso View.
A continuación se incluye una solicitud de muestra y una respuesta de muestra (ver Listado 2).
Solicitud de muestra: GET /webcontent/rest/libraries/feed?acls=true HTTP/1.1
Listado 2. Respuesta de muestra
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<id>urn:lsid:ibm.com:td:libraries</id>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/libraries/
feed" rel="self"></link>
<category term="library" scheme="tag:ibm.com,2006:td/type" l
abel="library"></category>
<title type="text">All Libraries</title>
<generator uri="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/"
version="1.0">Teamspace Web Content</generator>
<updated>2008-11-26T07:29:05.422Z</updated>
<entry xmlns:td="urn:ibm.com/td">
<id>urn:lsid:ibm.com:td:7a1cd3004be710acb161f18ffc876575</id>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7a1cd3004be710acb161f18ffc876575/entry" rel="self"></link>
<link href="http://lwptsthink43.cn.ibm.com:10038/lotus/poc/?
uri=wcm%3aa93444004be710aeb181f18ffc876575" rel="alternate"></link>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7a1cd3004be710acb161f18ffc876575/entry" rel="edit"></link>
<category term="library" scheme="tag:ibm.com,2006:td/type"
label="library"></category>
<category term="wiki" scheme="tag:ibm.com,2006:td/type"
label="wiki"></category>
<title type="text">Wiki</title>
<summary type="text">Allows the creation of wiki pages with user content by
teamspace members.</summary>
<td:label>7a1bd3804be710aab160f18ffc876575</td:label>
<published>2008-11-12T05:57:50.078Z</published>
<updated>2008-11-25T09:13:58.875Z</updated>
<td:modified>2008-11-12T05:57:50.078Z</td:modified>
<td:created>2008-11-12T05:57:50.078Z</td:created>
<content type="application/atom+xml" src="http://lwptsthink43.cn.ibm.com:10038/
webcontent/rest/library/7a1cd3004be710acb161f18ffc876575/feed"></content>
<td:permissions>Delete,Edit,AddChild,View</td:permissions>
</entry>
<entry xmlns:td="urn:ibm.com/td">
<id>urn:lsid:ibm.com:td:daf4dd004be710a5b135f18ffc876575</id>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
daf4dd004be710a5b135f18ffc876575/entry" rel="self"></link>
<link href="http://lwptsthink43.cn.ibm.com:10038/lotus/poc/?uri=
wcm%3a7e93bc804be710a9b15bf18ffc876575" rel="alternate"></link>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
daf4dd004be710a5b135f18ffc876575/entry" rel="edit"></link>
<category term="library" scheme="tag:ibm.com,2006:td/type"
label="library"></category>
<category term="blog" scheme="tag:ibm.com,2006:td/type"
label="blog"></category>
<title type="text">Blog</title>
<summary type="text">Allows the posting of blog entries and comments by
teamspace members.</summary>
<td:label>b6006a004be710a5b134f18ffc876575</td:label>
<published>2008-11-12T05:57:47.234Z</published>
<updated>2008-11-25T09:13:59.703Z</updated>
<td:modified>2008-11-12T05:57:47.234Z</td:modified>
<td:created>2008-11-12T05:57:47.234Z</td:created>
<content type="application/atom+xml" src="http://lwptsthink43.cn.ibm.com:10038/
webcontent/rest/library/daf4dd004be710a5b135f18ffc876575/feed"></content>
<td:permissions>AddChild,View</td:permissions>
</entry>
</feed>
|
Este servicio devuelve la entrada de una biblioteca especificada por el usuario y únicamente se soporta el método GET.
La Tabla 2 muestra el argumento soportado.
Tabla 2. Argumento soportado para library/{library-id}/entry
| Argumento | Valor | En solicitud | Descripción |
|---|---|---|---|
| acls | false, true | Opcional | Especifica si los permisos del usuario autenticado se devuelven en cada biblioteca |
A continuación se incluye una solicitud de muestra y su correspondiente respuesta (ver Listado 3).
Solicitud de muestra: GET /webcontent/rest/library/7a1cd3004be710acb161f18ffc876575/entry?acls=true HTTP/1.1
Listado 3. Respuesta de muestra
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:td="urn:ibm.com/td"> <id>urn:lsid:ibm.com:td:7a1cd3004be710acb161f18ffc876575</id> <link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/ 7a1cd3004be710acb161f18ffc876575/entry" rel="self" /> <link href="http://lwptsthink43.cn.ibm.com:10038/lotus/poc/?uri= wcm%3aa93444004be710aeb181f18ffc876575" rel="alternate" /> <link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/ 7a1cd3004be710acb161f18ffc876575/entry" rel="edit" /> <category term="library" scheme="tag:ibm.com,2006:td/type" label="library" /> <category term="wiki" scheme="tag:ibm.com,2006:td/type" label="wiki" /> <title type="text">Wiki</title> <summary type="text">Allows the creation of wiki pages with user content by teamspace members.</summary> <td:label>7a1bd3804be710aab160f18ffc876575</td:label> <published>2008-11-12T05:57:50.078Z</published> <updated>2008-11-25T09:13:58.875Z</updated> <td:modified>2008-11-12T05:57:50.078Z</td:modified> <td:created>2008-11-12T05:57:50.078Z</td:created> <content type="application/atom+xml" src="http://lwptsthink43.cn.ibm.com:10038/ webcontent/rest/library/7a1cd3004be710acb161f18ffc876575/feed" /> <td:permissions>Delete,Edit,AddChild,View</td:permissions> </entry> |
En este servicio:
- Se soportan los métodos GET y POST.
- POST crea un nuevo documento en una biblioteca especificada (es decir, una página wiki o un mensaje de blog).
- GET devuelve una fuente de los documentos en la biblioteca especificada.
Los argumentos mostrados en la Tabla 3 son soportados únicamente por el método GET; el método POST no soporta ningún argumento.
Tabla 3. Argumentos soportados por el método GET
| Argumento | Valor | En solicitud | Descripción |
|---|---|---|---|
| inline (en la línea) | false, true | Opcional | Estas entradas contienen el contenido real en lugar de un atributo src con un vínculo hacia el contenido cuando inline=true |
| page | 1, 2, 3, etc | Opcional | Especifica la página a obtener considerando un tamaño de hoja constante |
| pagesize | 10, 20, etc | Opcional | Especifica la cantidad de elementos que se incluirán en una solicitud paginada |
| sK | title (título), updated, published, created, modified | Optional | Clave de clasificación de la respuesta |
| sO | dsc, asc | Opcional | Orden de clasificación de la respuesta |
| acls | false, true | Opcional | Especifica si los permisos del usuario autenticado se devuelven en cada biblioteca |
Cuando el argumento inline se establece en “true”, el elemento <content> de la entrada es el contenido real de la página wiki page o el mensaje blog (para obtener más información, ver la respuesta de muestra). Si este argumento se establece en false, el elemento <content> de la entrada será de la siguiente manera:
<content
src=http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7a1cd3004be710acb161f18ffc876575/document/a93444004be710aeb181f18ffc876575/
media
type="text/html">
</content>
A continuación se incluye una solicitud de muestra y su correspondiente respuesta (ver Listado 4):
Método GETSolicitud de muestra:
GET
/webcontent/rest/library/7a1cd3004be710acb161f18ffc876575/feed?inline=true
HTTP/1.1
Listado 4. Respuesta de muestra
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<id>urn:lsid:ibm.com:td:7a1cd3004be710acb161f18ffc876575</id>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7a1cd3004be710acb161f18ffc876575/feed" rel="self"></link>
<category term="library" scheme="tag:ibm.com,2006:td/type"
label="library"></category>
<title type="text">Wiki</title>
<generator uri="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7a1cd3004be710acb161f18ffc876575/" version="1.0">Teamspace
Web Content</generator>
<updated>2008-11-10T03:40:23.469Z</updated>
<collection href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7a1cd3004be710acb161f18ffc876575/feed" xmlns="http://purl.org/atom/app#">
<atom:title type="text" xmlns:atom="http://www.w3.org/2005/Atom">
Wiki</atom:title>
<accept>text/html,application/atom+xml</accept>
</collection>
<entry xmlns:td="urn:ibm.com/td">
<id>urn:lsid:ibm.com:td:a93444004be710aeb181f18ffc876575</id>
<title type="text">Welcome to your new Wiki</title>
<published>2007-01-30T21:17:44.220Z</published>
<updated>2008-11-10T03:40:23.469Z</updated>
<td:modified>2008-11-10T03:40:23.469Z</td:modified>
<td:created>2007-01-30T21:17:44.220Z</td:created>
<summary type="text">Use the Team Wiki to communicate thoughts
about project.</summary>
<td:uuid>a93444004be710aeb181f18ffc876575</td:uuid>
<author>
<name>wpsadmin g wpsadmin sn</name>
<email>wpsadmin@cn.ibm.com</email>
<uri>uid%3Dwpsadmin%2Ccn%3Dusers%2Cl%3Dwestford%2Cst%3Dmassachusetts
%2Cc%3Dus%2Cou%3Dlotus%2Co%3Dsoftware+group%2Cdc%3Dibm%2Cdc%3Dcom</uri>
</author>
<link href="/lotus/poc/?uri=wcm%3aa93444004be710aeb181f18ffc876575" rel="alternate">
</link>
<content type="html">Use the Team Wiki to communicate thoughts about project,
ideas, and to share information. You can start a thought in the wiki and then watch
as team members respond. Team Wiki is a good place to brainstorm with the team.
<br> Click "Edit Page" to get started.<br> Tip: Use the wiki instead
of email. Because questions and answers are often hidden in personal email, post a
blog to generate quick responses that are visible to the team.<p style="margin:
0px;"></p></content>
<category scheme="tag:ibm.com,2006:td/" label="document"
term="document"></category>
<category scheme="tag:ibm.com,2006:td/" label="page"
term="page"></category>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7a1cd3004be710acb161f18ffc876575/document/a93444004be710aeb181f18ffc876575/
entry" rel="self"></link>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7a1cd3004be710acb161f18ffc876575/document/a93444004be710aeb181f18ffc876575/
entry" rel="edit"></link>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7a1cd3004be710acb161f18ffc876575/document/a93444004be710aeb181f18ffc876575/feed"
rel="replies"></link>
</entry>
</feed>
|
Método POST
A continuación se incluye una solicitud de muestra y su correspondiente respuesta (ver Listados 5 y 6, respectivamente).
Listado 5. Solicitud de muestra
POST /webcontent/rest/library/7a1cd3004be710acb161f18ffc876575/feed?inline=true HTTP/1.1 Host: lwptsthink43.cn.ibm.com Content-Type: application/msword Content-Length: nnnn Authorization: Basic ... <entry xmlns="http://www.w3.org/2005/Atom"> <content type="html"><p><b> </b> Programmatically created entry.</p> </content> <title type="text">Test Entry Title </title> <summary type="text">Summary for Test Entry Ttile </summary> </entry> |
Listado 6. Respuesta de muestra
HTTP/1.1 200 OK
Date: Fri, 13 Apr 2007 17:17:11 GMT
Content-Length: nnn
Content-Type: application/atom+xml; charset="utf-8"
Location: http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
6b1fc9804a9207249ceadc23ebd19157/document/6df9c6004c127f26bc10fdaa37d7846a/entry
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:td="urn:ibm.com/td">
<id>urn:lsid:ibm.com:td:6df9c6004c127f26bc10fdaa37d7846a</id>
<title type="text">Test Entry Title </title>
<published>2008-11-26T09:32:39.484Z</published>
<updated>2008-11-26T09:32:39.984Z</updated>
<td:modified>2008-11-26T09:32:39.984Z</td:modified>
<td:created>2008-11-26T09:32:39.484Z</td:created>
<summary type="text">Summary for Test Entry Title</summary>
<td:uuid>6df9c6004c127f26bc10fdaa37d7846a</td:uuid>
<author>
<name>wpsadmin g wpsadmin sn</name>
<email>wpsadmin@cn.ibm.com</email>
<uri>uid%3Dwpsadmin%2Ccn%3Dusers%2Cl%3Dwestford%2Cst%3Dmassachusetts%2Cc
%3Dus%2Cou%3Dlotus%2Co%3Dsoftware+group%2Cdc%3Dibm%2Cdc%3Dcom</uri>
</author>
<link href="/lotus/poc/?uri=wcm%3a6df9c6004c127f26bc10fdaa37d7846a"
rel="alternate"></link>
<content type="text/html" src="http://lwptsthink43.cn.ibm.com:10038/webcontent/
rest/library/6b1fc9804a9207249ceadc23ebd19157/document/
6df9c6004c127f26bc10fdaa37d7846a/media"></content>
<category scheme="tag:ibm.com,2006:td/" label="document"
term="document"></category>
<category scheme="tag:ibm.com,2006:td/" label="page"
term="page"></category>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
6b1fc9804a9207249ceadc23ebd19157/document/6df9c6004c127f26bc10fdaa37d7846a/entry"
rel="self"></link>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
6b1fc9804a9207249ceadc23ebd19157/document/6df9c6004c127f26bc10fdaa37d7846a/entry"
rel="edit"></link>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
6b1fc9804a9207249ceadc23ebd19157/document/6df9c6004c127f26bc10fdaa37d7846a/feed"
rel="replies"></link>
</entry>
|
/library/{library-id}/document/{document-id}/entry
Este servicio soporta los métodos GET, PUT y DELETE:
- GET devuelve una entrada para el documento especificado.
- PUT actualiza el documento especificado.
- DELETE elimina el documento especificado.
El argumento mostrado en la Tabla 4 es soportado únicamente por el método GET; los métodos PUT y DELETE no soportan ningún argumento.
Tabla 4. Argumento soportado por el método GET
| Argumento | Valor | En solicitud | Descripción |
|---|---|---|---|
| acls | false, true | Opcional | Especifica si los permisos del usuario autenticado se devuelven en cada biblioteca |
A continuación se incluye una solicitud de muestra y su correspondiente respuesta (ver Listado 7).
Solicitud de muestra:
GET
/webcontent/rest/library/7e0bad004a9206d69c88dc23ebd19157/
document/886a62804c128889bc18fdaa37d7846a/entry
HTTP/1.1
Listado 7. Respuesta de muestra
<?xml version="1.0" encoding="UTF-8" ?> <entry xmlns="http://www.w3.org/2005/Atom" xmlns:td="urn:ibm.com/td"> <id>urn:lsid:ibm.com:td:886a62804c128889bc18fdaa37d7846a</id> <title type="text">Test Entry Title</title> <published>2008-11-26T09:49:51.609Z</published> <updated>2008-11-26T09:49:51.609Z</updated> <td:modified>2008-11-26T09:49:51.609Z</td:modified> <td:created>2008-11-26T09:49:51.609Z</td:created> <summary type="text">Programmatically created entry summary</summary> <td:uuid>886a62804c128889bc18fdaa37d7846a</td:uuid> <author> <name>wpsadmin g wpsadmin sn</name> <email>wpsadmin@cn.ibm.com</email> <uri>uid%3Dwpsadmin%2Ccn%3Dusers%2Cl%3Dwestford%2Cst%3Dmassachusetts%2Cc%3Dus %2Cou%3Dlotus%2Co%3Dsoftware+group%2Cdc%3Dibm%2Cdc%3Dcom</uri> </author> <link href="/lotus/poc/?uri=wcm%3a886a62804c128889bc18fdaa37d7846a" rel="alternate" /> <content type="text/html" src="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/ 7e0bad004a9206d69c88dc23ebd19157/document/886a62804c128889bc18fdaa37d7846a/ media" /> <category scheme="tag:ibm.com,2006:td/" label="document" term="document" /> <link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/ 7e0bad004a9206d69c88dc23ebd19157/document/886a62804c128889bc18fdaa37d7846a/entry" rel="self" /> <link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/ 7e0bad004a9206d69c88dc23ebd19157/document/886a62804c128889bc18fdaa37d7846a/entry" rel="edit" /> <link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/ 7e0bad004a9206d69c88dc23ebd19157/document/886a62804c128889bc18fdaa37d7846a/feed" rel="replies" /> </entry> |
Método PUT
A continuación se incluye una solicitud de muestra y su correspondiente respuesta (ver Listados 8 y 9, respectivamente).
Listado 8. Solicitud de muestra
PUT /webcontent/rest/library/7e0bad004a9206d69c88dc23ebd19157/ document/886a62804c128889bc18fdaa37d7846a/entry HTTP/1.1 Host: lwptsthink43.cn.ibm.com Content-Length: nnnn Authorization: Basic ... <entry xmlns="http://www.w3.org/2005/Atom"> <content type="html"><p><b> </b> Programmatically Updated entry.</p> </content> <title type="text">Test Entry Title-Updated </title> <summary type="text">Summary for Test Entry Ttile-Updated </summary> </entry> |
Listado 9. Respuesta de muestra
HTTP/1.1 200 OK
Date: Fri, 13 Apr 2007 17:17:11 GMT
Content-Length: nnn
Content-Type: application/atom+xml; charset="utf-8"
Location: http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
6b1fc9804a9207249ceadc23ebd19157/document/6df9c6004c127f26bc10fdaa37d7846a/entry
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:td="urn:ibm.com/td">
<id>urn:lsid:ibm.com:td:6df9c6004c127f26bc10fdaa37d7846a</id>
<title type="text">Test Entry Title-Updated </title>
<published>2008-11-26T09:32:39.484Z</published>
<updated>2008-11-26T09:32:39.984Z</updated>
<td:modified>2008-11-26T09:32:39.984Z</td:modified>
<td:created>2008-11-26T09:32:39.484Z</td:created>
<summary type="text">Summary for Test Entry Title-Updated </summary>
<td:uuid>6df9c6004c127f26bc10fdaa37d7846a</td:uuid>
<author>
<name>wpsadmin g wpsadmin sn</name>
<email>wpsadmin@cn.ibm.com</email>
<uri>uid%3Dwpsadmin%2Ccn%3Dusers%2Cl%3Dwestford%2Cst%3Dmassachusetts%2Cc
%3Dus%2Cou%3Dlotus%2Co%3Dsoftware+group%2Cdc%3Dibm%2Cdc%3Dcom</uri>
</author>
<link href="/lotus/poc/?uri=wcm%3a6df9c6004c127f26bc10fdaa37d7846a"
rel="alternate"></link>
<content type="text/html" src="http://lwptsthink43.cn.ibm.com:10038/webcontent/
rest/library/6b1fc9804a9207249ceadc23ebd19157/
document/6df9c6004c127f26bc10fdaa37d7846a/media"></content>
<category scheme="tag:ibm.com,2006:td/" label="document"
term="document"></category>
<category scheme="tag:ibm.com,2006:td/" label="page"
term="page"></category>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
6b1fc9804a9207249ceadc23ebd19157/document/6df9c6004c127f26bc10fdaa37d7846a/entry"
rel="self"></link>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
6b1fc9804a9207249ceadc23ebd19157/document/6df9c6004c127f26bc10fdaa37d7846a/entry"
rel="edit"></link>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
6b1fc9804a9207249ceadc23ebd19157/document/6df9c6004c127f26bc10fdaa37d7846a/feed"
rel="replies"></link>
</entry>
|
Respuesta de muestra:
HTTP/1.1 200 OK
Date: Fri, 13 Apr 2008 17:17:11 GMT
/library/{library-id}/document/{document-id}/feed
Este servicio soporta los métodos GET y POST:
- POST crea un nuevo comentario para el documento especificado.
- GET devuelve una fuente para los comentarios, para el documento especificado.
Los argumentos mostrados en la Tabla 5 son soportados únicamente por el método GET; el método POST no soporta ningún argumento.
Tabla 5. Argumentos soportados por el método GET
| Argumento | Valor | En solicitud | Descripción |
|---|---|---|---|
| inline | false, true | Opcional | Estas entradas contienen el contenido real en lugar de un atributo src con un vínculo hacia el contenido cuando inline=true |
| page | 1, 2, 3, etc | Opcional | Especifica la página a obtener considerando un tamaño de hoja constante |
| pagesize | 10, 20, etc | Opcional | Especifica la cantidad de elementos que se incluirán en una solicitud paginada |
| sK | title, updated, published | Opcional | Clave de clasificación de la respuesta |
| sO | dsc, asc | Opcional | Orden de clasificación de la respuesta |
| acls | false, true | Opcional | Especifica si los permisos del usuario autenticado se devuelven en cada biblioteca |
A continuación se incluye una solicitud de muestra y su correspondiente respuesta (ver Listado 10).
Solicitud de muestra:
GET
/webcontent/rest/library/7e0bad004a9206d69c88dc23ebd19157/document/
886a62804c128889bc18fdaa37d7846a/feed
HTTP/1.1
Listado 10. Respuesta de muestra
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<id>urn:lsid:ibm.com:td:886a62804c128889bc18fdaa37d7846a</id>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7e0bad004a9206d69c88dc23ebd19157/document/886a62804c128889bc18fdaa37d7846a/feed"
rel="self"></link>
<category term="comment" scheme="tag:ibm.com,2006:td/type"
label="comment"></category>
<title type="text">Test Entry</title>
<generator uri="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7e0bad004a9206d69c88dc23ebd19157/"
version="1.0">Teamspace Web Content</generator>
<updated>2008-11-27T01:31:02.906Z</updated>
<collection href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7e0bad004a9206d69c88dc23ebd19157/document/886a62804c128889bc18fdaa37d7846a/feed"
xmlns="http://purl.org/atom/app#">
<atom:title type="text" xmlns:atom="http://www.w3.org/2005/Atom">
Test Entry</atom:title>
<accept>text/html,application/atom+xml</accept>
</collection>
<entry xmlns:td="urn:ibm.com/td">
<id>urn:lsid:ibm.com:td:fb73a7804c148a23bc28fdaa37d7846a</id>
<title type="text">wpsadmin g wpsadmin sn Today at 9:31 AM</title>
<published>2008-11-27T01:31:02.906Z</published>
<updated>2008-11-27T01:31:02.906Z</updated>
<td:modified>2008-11-27T01:31:02.906Z</td:modified>
<td:created>2008-11-27T01:31:02.906Z</td:created>
<summary type="text">test again</summary>
<td:uuid>fb73a7804c148a23bc28fdaa37d7846a</td:uuid>
<author>
<name>wpsadmin g wpsadmin sn</name>
<email>wpsadmin@cn.ibm.com</email>
<uri>uid%3Dwpsadmin%2Ccn%3Dusers%2Cl%3Dwestford%2Cst%3Dmassachusetts%2Cc
%3Dus%2Cou%3Dlotus%2Co%3Dsoftware+group%2Cdc%3Dibm%2Cdc%3Dcom</uri>
</author>
<link href="/lotus/poc/?uri=wcm%3afb73a7804c148a23bc28fdaa37d7846a"
rel="alternate"></link>
<content type="text/html" src="http://lwptsthink43.cn.ibm.com:10038/
webcontent/rest/library/7e0bad004a9206d69c88dc23ebd19157/document/
1c1cef804c1488b4bc1afdaa37d7846a/comment/fb73a7804c148a23bc28fdaa37d7846a/
media"></content>
<category scheme="tag:ibm.com,2006:td/" label="comment"
term="comment"></category>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7e0bad004a9206d69c88dc23ebd19157/document/1c1cef804c1488b4bc1afdaa37d7846a/
comment/fb73a7804c148a23bc28fdaa37d7846a/entry" rel="self"></link>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7e0bad004a9206d69c88dc23ebd19157/document/1c1cef804c1488b4bc1afdaa37d7846a/
comment/fb73a7804c148a23bc28fdaa37d7846a/entry" rel="edit"></link>
</entry>
<entry xmlns:td="urn:ibm.com/td">
<id>urn:lsid:ibm.com:td:d23708004c1488b9bc26fdaa37d7846a</id>
<title type="text">wpsadmin g wpsadmin sn Today at 9:28 AM</title>
<published>2008-11-27T01:28:28.344Z</published>
<updated>2008-11-27T01:28:28.344Z</updated>
<td:modified>2008-11-27T01:28:28.344Z</td:modified>
<td:created>2008-11-27T01:28:28.344Z</td:created>
<summary type="text">test</summary>
<td:uuid>d23708004c1488b9bc26fdaa37d7846a</td:uuid>
<author>
<name>wpsadmin g wpsadmin sn</name>
<email>wpsadmin@cn.ibm.com</email>
<uri>uid%3Dwpsadmin%2Ccn%3Dusers%2Cl%3Dwestford%2Cst%3Dmassachusetts
%2Cc%3Dus%2Cou%3Dlotus%2Co%3Dsoftware+group%2Cdc%3Dibm%2Cdc%3Dcom</uri>
</author>
<link href="/lotus/poc/?uri=wcm%3ad23708004c1488b9bc26fdaa37d7846a"
rel="alternate"></link>
<content type="text/html" src="http://lwptsthink43.cn.ibm.com:10038/webcontent/
rest/library/7e0bad004a9206d69c88dc23ebd19157/document/
1c1cef804c1488b4bc1afdaa37d7846a/comment/d23708004c1488b9bc26fdaa37d7846a/
media"></content>
<category scheme="tag:ibm.com,2006:td/" label="comment"
term="comment"></category>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7e0bad004a9206d69c88dc23ebd19157/document/1c1cef804c1488b4bc1afdaa37d7846a/
comment/d23708004c1488b9bc26fdaa37d7846a/entry" rel="self"></link>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7e0bad004a9206d69c88dc23ebd19157/document/1c1cef804c1488b4bc1afdaa37d7846a/
comment/d23708004c1488b9bc26fdaa37d7846a/entry" rel="edit"></link>
</entry>
</feed>
|
Método POST
A continuación se incluye una solicitud de muestra y su correspondiente respuesta (ver Listados 11 y 12, respectivamente).
Listado 11. Solicitud de muestra
POST /webcontent/rest/library/7e0bad004a9206d69c88dc23ebd19157/ document/886a62804c128889bc18fdaa37d7846a/feed HTTP/1.1 Host: lwptsthink43.cn.ibm.com Content-Type: application/msword Content-Length: nnnn Authorization: Basic ... <entry xmlns="http://www.w3.org/2005/Atom"> <content type="html"><p><b> </b> Programmatically created entry.</p> </content> <title type="text">Test Entry Title </title> <category scheme="tag:ibgm.com,2006:td/type" term="comment"> </category> </entry> |
Listado 12. Respuesta de muestra
HTTP/1.1 200 OK
Date: Fri, 13 Apr 2008 17:17:11 GMT
Content-Length: nnn
Content-Type: application/atom+xml; charset="utf-8"
Location: http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
6b1fc9804a9207249ceadc23ebd19157/document/096d53804c148da9bc34fdaa37d7846a/
comment/096d53804c148da9bc33fdaa37d7846a/entry
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:td="urn:ibm.com/td">
<id>urn:lsid:ibm.com:td:096d53804c148da9bc33fdaa37d7846a</id>
<title type="text">wpsadmin g wpsadmin sn Today at 9:37 AM</title>
<published>2008-11-27T01:37:30.500Z</published>
<updated>2008-11-27T01:37:30.672Z</updated>
<td:modified>2008-11-27T01:37:30.672Z</td:modified>
<td:created>2008-11-27T01:37:30.500Z</td:created>
<summary type="text">Thu Nov 27 09:42:45 CST 2008
Programmatically created comment.</summary>
<td:uuid>096d53804c148da9bc33fdaa37d7846a</td:uuid>
<author>
<name>wpsadmin g wpsadmin sn</name>
<email>wpsadmin@cn.ibm.com</email>
<uri>uid%3Dwpsadmin%2Ccn%3Dusers%2Cl%3Dwestford%2Cst%3Dmassachusetts%2Cc
%3Dus%2Cou%3Dlotus%2Co%3Dsoftware+group%2Cdc%3Dibm%2Cdc%3Dcom</uri>
</author>
<link href="/lotus/poc/?uri=wcm%3a096d53804c148da9bc33fdaa37d7846a"
rel="alternate"></link>
< contenttype="text/html" src="http://lwptsthink43.cn.ibm.com:10038/webcontent/
rest/library/6b1fc9804a9207249ceadc23ebd19157/document/096d53804c148da9bc34fdaa37d7846a/
comment/096d53804c148da9bc33fdaa37d7846a/media"></content>
<category scheme="tag:ibm.com,2006:td/" label="comment"
term="comment"></category>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
6b1fc9804a9207249ceadc23ebd19157/document/096d53804c148da9bc34fdaa37d7846a/comment/
096d53804c148da9bc33fdaa37d7846a/entry" rel="self"></link>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
6b1fc9804a9207249ceadc23ebd19157/document/096d53804c148da9bc34fdaa37d7846a/
comment/096d53804c148da9bc33fdaa37d7846a/entry" rel="edit"></link>
</entry>
|
/library/{library-id}/document/{document-id}/comment/comment-id}/entry
Este servicio soporta los métodos GET, PUT y DELETE:
- GET devuelve una entrada para el comentario especificado.
- PUT actualiza el comentario especificado.
- DELETE elimina el comentario especificado.
El argumento mostrado en la Tabla 6 es soportado sólo cuando se ejecuta el método GET; los métodos PUT y DELETE no soportan ningún argumento.
Tabla 6. Argumento soportado por el método GET
| Argumento | Valor | En solicitud | Descripción |
|---|---|---|---|
| acls | false, true | Opcional | Especifica si los permisos del usuario autenticado se devuelven en cada biblioteca. |
A continuación se incluye una solicitud de muestra y su correspondiente respuesta (ver Listado 13).
Solicitud de muestra:
GET
/webcontent/rest/library/7e0bad004a9206d69c88dc23ebd19157/document/
40dc74004c149271bc3cfdaa37d7846a/comment/55eeec804c1492ddbc44fdaa37d7846a/entry
HTTP/1.1
Listado 13. Respuesta de muestra
<?xml version="1.0" encoding="UTF-8" ?>
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:td="urn:ibm.com/td">
<id>urn:lsid:ibm.com:td:55eeec804c1492ddbc44fdaa37d7846a</id>
<title type="text">wpsadmin g wpsadmin sn Today at 9:47 AM</title>
<published>2008-11-27T01:47:02.109Z</published>
<updated>2008-11-27T01:47:02.109Z</updated>
<td:modified>2008-11-27T01:47:02.109Z</td:modified>
<td:created>2008-11-27T01:47:02.109Z</td:created>
<summary type="text">this is the first comment</summary>
<td:uuid>55eeec804c1492ddbc44fdaa37d7846a</td:uuid>
<author>
<name>wpsadmin g wpsadmin sn</name>
<email>wpsadmin@cn.ibm.com</email>
<uri>uid%3Dwpsadmin%2Ccn%3Dusers%2Cl%3Dwestford%2Cst%3Dmassachusetts%2Cc
%3Dus%2Cou%3Dlotus%2Co%3Dsoftware+group%2Cdc%3Dibm%2Cdc%3Dcom</uri>
</author>
<link href="/lotus/poc/?uri=wcm%3a55eeec804c1492ddbc44fdaa37d7846a" rel="alternate" />
<content type="text/html"
src="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7e0bad004a9206d69c88dc23ebd19157/document/766a77004c1492dcbc3efdaa37d7846a/comment/
55eeec804c1492ddbc44fdaa37d7846a/media" />
<category scheme="tag:ibm.com,2006:td/" label="comment" term="comment" />
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7e0bad004a9206d69c88dc23ebd19157/document/766a77004c1492dcbc3efdaa37d7846a/comment/
55eeec804c1492ddbc44fdaa37d7846a/entry" rel="self" />
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
7e0bad004a9206d69c88dc23ebd19157/document/766a77004c1492dcbc3efdaa37d7846a/
comment/55eeec804c1492ddbc44fdaa37d7846a/entry" rel="edit" />
</entry>
|
Método PUT
A continuación se incluye una solicitud de muestra y su correspondiente respuesta (ver Listados 14 y 15, respectivamente).
Listado 14. Solicitud de muestra
PUT /webcontent/rest/library/7e0bad004a9206d69c88dc23ebd19157/document/ 40dc74004c149271bc3cfdaa37d7846a/comment/55eeec804c1492ddbc44fdaa37d7846a/entry HTTP/1.1 Host: lwptsthink43.cn.ibm.com Content-Length: nnnn Authorization: Basic ... <entry xmlns="http://www.w3.org/2005/Atom"> <content type="html"><p><b> </b> Programmatically Updated entry.</p> </content> <title type="text">Test Entry Title-Updated </title> <summary type="text">Summary for Test Entry Ttile-Updated </summary> </entry> |
Listado 15. Respuesta de muestra
HTTP/1.1 200 OK
Date: Fri, 13 Apr 2007 17:17:11 GMT
Content-Length: nnn
Content-Type: application/atom+xml; charset="utf-8"
Location: http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
6b1fc9804a9207249ceadc23ebd19157/document/014241804c149b27bc52fdaa37d7846a/entry
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:td="urn:ibm.com/td">
<id>urn:lsid:ibm.com:td:014241804c149b27bc52fdaa37d7846a</id>
<title type="text">API_Automation_Test:Test Entry - Thu Nov 27 10:07:28
CST 2008</title>
<published>2008-11-27T02:02:13.375Z</published>
<updated>2008-11-27T02:02:13.812Z</updated>
<td:modified>2008-11-27T02:02:13.812Z</td:modified>
<td:created>2008-11-27T02:02:13.375Z</td:created>
<summary type="text">Summary for: API_Automation_Test:Test Entry -
Thu Nov 27 10:07:28 CST 2008</summary>
<td:uuid>014241804c149b27bc52fdaa37d7846a</td:uuid>
<author>
<name>wpsadmin g wpsadmin sn</name>
<email>wpsadmin@cn.ibm.com</email>
<uri>uid%3Dwpsadmin%2Ccn%3Dusers%2Cl%3Dwestford%2Cst%3Dmassachusetts%2Cc
%3Dus%2Cou%3Dlotus%2Co%3Dsoftware+group%2Cdc%3Dibm%2Cdc%3Dcom</uri>
</author>
<link href="/lotus/poc/?uri=wcm%3a014241804c149b27bc52fdaa37d7846a"
rel="alternate"></link>
<content type="text/html" src="http://lwptsthink43.cn.ibm.com:10038/webcontent/
rest/library/6b1fc9804a9207249ceadc23ebd19157/document/
014241804c149b27bc52fdaa37d7846a/media"></content>
<category scheme="tag:ibm.com,2006:td/" label="document"
term="document"></category>
<category scheme="tag:ibm.com,2006:td/" label="page"
term="page"></category>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
6b1fc9804a9207249ceadc23ebd19157/document/014241804c149b27bc52fdaa37d7846a/entry"
rel="self"></link>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
6b1fc9804a9207249ceadc23ebd19157/document/014241804c149b27bc52fdaa37d7846a/entry"
rel="edit"></link>
<link href="http://lwptsthink43.cn.ibm.com:10038/webcontent/rest/library/
6b1fc9804a9207249ceadc23ebd19157/document/014241804c149b27bc52fdaa37d7846a/feed"
rel="replies"></link>
</entry>
|
Método DELETE
A continuación se incluye una solicitud de muestra y su correspondiente respuesta.
Solicitud de muestra:
Delete
/webcontent/rest/library/7e0bad004a9206d69c88dc23ebd19157/document/
40dc74004c149271bc3cfdaa37d7846a/comment/55eeec804c1492ddbc44fdaa37d7846a/entry
HTTP/1.1
Host: lwptsthink43.cn.ibm.com
Authorization: Basic ...
Respuesta de muestra:
HTTP/1.1 200 OK
Date: Fri, 13 Apr 2007 17:17:11 GMT
Consumo de los servicios en la práctica
En esta sección se presentan ejemplos reales que explican cómo listar entradas de blog en una biblioteca blog, cómo crear una entrada de blog y cómo agregar un comentario de entrada de blog.
En el ejemplo se usa Apache Abdera para la publicación de Atom y el análisis de respuestas. Para más detalles, consulte el artículo de developerWorks®, "Getting to know the Atom Publishing Protocol, Part 3: Introducing the Apache Abdera project."
Listar entradas de blog en una biblioteca blog
Como se explicó anteriormente, para colocar las entradas de blog en una biblioteca
blog, se deberá enviar una solicitud de “get” a la URLhttps://localhost:10038/webcontent/rest/library/7e0bad004a9206d69c88dc23ebd19157/feed,
como muestra el fragmento de código del Listado 16.
Listado 16. Solicitud de “get”
public void getLibraryFeed() throws Exception
{
String url = “https://localhost:10038/webcontent/rest/
library/7e0bad004a9206d69c88dc23ebd19157/feed”;
//create an abdera client
CommonsClient client = new CommonsClient();
Credentials creds = new UsernamePasswordCredentials(“mshani”, “password”);
client.addCredentials(url, null, null, creds);
client.usePreemptiveAuthentication(true);
//Send the Getting request
ClientRespone response = client.get(url);
Element blogElement = response.getDocument().getRoot();
releaseResponse();
Feed blogFeed = (Feed) blogElement;
List list = blogFeed.getEntries();
Iterator iter = list.iterator();
while (iter.hasNext())
{
//Every entry means a blog entry
Entry entry = iter.next();
//Get the blog entry’s infromation
String title = entry.getTitle();
String summary = entry.getSummary();
String author = entry.getAuthor().getName();
//Render the blog entry’s title, summary and name to the User Interface.
…………
…………
}
}
|
Figura 1. Entrada de blog agregada a la biblioteca blog
Crear una nueva entrada de blog
Para crear una entrada de blog, deberá enviar una solicitud HTTP POST hacia la URL de
fuente de biblioteca:http://localhost:10038/webcontent/rest/library/7e0bad004a9206d69c88dc23ebd19157/feed,
como muestra el fragmento de código del Listado 17.
Listado 17. Solicitud HTTP POST
public String createBlogEntry() throws Exception
{
String url = “https://localhost:10038/webcontent/rest/
library/7e0bad004a9206d69c88dc23ebd19157/feed”;
//create an abdera client
CommonsClient client = new CommonsClient();
Credentials creds = new UsernamePasswordCredentials(“mshani”, “password”);
client.addCredentials(url, null, null, creds);
client.usePreemptiveAuthentication(true);
//Create an posted abdera entry
Entry blogEntry = Abdera.getNewFactory.newEntry();
//set the blog entry title
blogEntry.setTitle("IntroDucing REST based services for wiki and blog content");
String summary = "<p><b>Learn how to create web content using REST based
services</b></p>”;
//set the blog entry summary
blogEntry.setContentAsHtml(summary);
//Send the POST request
ClientRespone response = client.post(url, blogEntry);
Element blogElement = response.getDocument().getRoot();
releaseResponse();
Entry entry = (Entry) blogElement;
QName QNAME_UUID = new QName("urn:ibm.com/td", ”uuid”, “td”);
String blogEntryUUID = entry.getSimpleExtension(QNAME_UUID);
return blogEntryUUID;
}
|
De esta manera, se crea con éxito una entrada de blog (ver Figura 2).
Figura 2. Nueva entrada de blog
Agregar un comentario de la entrada de blog
Para agregar un comentario de entrada de blog, se deberá registrar una entrada de comentario en la fuente de entrada de blog. La URL registrada deberá ser como la siguiente:
http://localost:10038/webcontent/rest/library/12c41d804d2f16e9af42efa98d8a5f1c/
document/704e15004d2f7c5baf76efa98d8a5f1c/feed
y el fragmento de código será como el mostrado en el Listado 18.
Listado 18. Registrar una entrada de comentario en la fuente de blog
public String createBlogEntry() throws Exception
{
String url = “http://localost:10038/webcontent/rest/library/
12c41d804d2f16e9af42efa98d8a5f1c/document/704e15004d2f7c5baf76efa98d8a5f1c/feed”;
//create an abdera client
CommonsClient client = new CommonsClient();
Credentials creds = new UsernamePasswordCredentials(“mshani”, “password”);
client.addCredentials(url, null, null, creds);
client.usePreemptiveAuthentication(true);
//Create an posted abdera entry
Entry commentEntry = Abdera.getNewFactory.newEntry();
//set the comment entry title
String summary = "<p><b>This is a good article which is
worthy to read</b></p>”;
//set the blog entry summary
commentEntry.setContentAsHtml(summary);
//Set the entry category
Category category = factory.newCategory();
category.setScheme("tag:ibgm.com,2006:td/type");
category.setTerm("comment");
commentEntry.addCategory(category);
//Send the POST request
ClientRespone response = client.post(url, commentEntry);
Element commentElement = response.getDocument().getRoot();
releaseResponse();
Entry entry = (Entry) commentElement;
QName QNAME_UUID = new QName("urn:ibm.com/td", ”uuid”, “td”);
String commentUUID = entry.getSimpleExtension(QNAME_UUID);
return commentUUID;
}
|
De esta manera, se crea un comentario de entrada de blog como se muestra en la Figura 3.
Figura 3. Comentario de entrada de blog
En esta sección hemos mostrado ejemplos concretos de cómo registrar entradas de blog en una biblioteca blog, cómo crear una entrada de blog y cómo comentar sobre una entrada de blog. Los procedimientos a seguir para realizar otras operaciones, como actualizar o eliminar una entrada de blog, o actualizar o eliminar un comentario de entrada de blog, son muy similares a los de las tres operaciones explicadas.
Los servicios basados en REST de Lotus Quickr para contenidos wiki y blog proporcionan una forma cómoda y robusta de acceder a contenidos Web en Lotus Quickr para el portal WebSphere. Los usuarios pueden obtener toda la información disponible en las bibliotecas wiki y blog así como también crear, actualizar, y eliminar una página wiki o un mensaje blog especificado y realizar operaciones CRUD de un comentario especificado.
Con la ayuda de estos servicios, los usuarios pueden personalizar sus presentaciones de contenidos Web. Además, estos servicios se alinean con el formato de los servicios de documentos basados en REST de Lotus Quickr, lo que facilita su compresión y uso.
Aprender
- Leer el artículo sobre Lotus de developerWorks: "Introducing
IBM Lotus Quickr REST services."
- Leer el artículo sobre Lotus de developerWorks: "Introducing IBM Lotus Quickr Web services."
- Leer el artículo sobre Lotus de developerWorks: "Getting to know
the Atom Publishing Protocol, Part 3: Introducing the Apache Abdera
project."
- Consulte el wiki de Lotus Quickr.
- Consulte la página del
producto de Lotus Quickr.
- Consulte el Centro
de información de Lotus Quickr.
Obtener los productos y tecnologías
- Descargue Apache Abdera.
Comentar
Derek Carr is an Advisory Software Engineer at IBM working with the Lotus Quickr team in Research Triangle Park, NC. You can reach Derek at dwcarr@us.ibm.com.
Danny Levenson is a Software Developer working with the IBM Lotus Quickr team in Durham, NC. You can reach Danny at dlevenso@us.ibm.com.