IBM Connections: Using Connections API on Wiki Pages

From Wiki

THIS DOCUMENT IS ON DRAFT

Using Atom, you can can create, retrieve, update, or delete wiki pages. I will show some examples, if you want more details see documentation on Working with wiki pages IBM Connections 5.5 API.

Working with Wiki Pages

Getting wiki-label

First of all you must create a Wiki on Connections, open this wiki and get the wiki-label. It must be as follow:

https://{hostname}/wikis/home?lang=en-us#!/wiki/{wiki-id_or_label}

Examples;

  • For Wikis inside a community -> https://{hostname}/wikis/home?lang=en-us#!/wiki/W0123c2ccb6b6_45aa_bc4e_865da123063a
  • For Wikis outside a community -> https://{hostname}/wikis/home?lang=en-us#!/wiki/User Guide

Create a Wiki Page

Let's create our data file.

1) Create the file WikiNewPage01.xml, with bellow content:

 <entry xmlns="http://www.w3.org/2005/Atom">
 <title type="text">My First Wiki</title>
 <content type="text/html">
  <![CDATA[<?xml version="1.0" encoding="UTF-8"?><p>
  <strong>Hello World!</strong>
  </p>]]>
 </content>
 <category term="wikipagetag1" />
 <category term="wikipagetag2" />
 <category scheme="tag:ibm.com,2006:td/type" term="page" label="page" />
 </entry>
 

Save.

2) Now run curl comand to create

curl -XPOST "https://{hostname}/wikis/basic/api/wiki/{wiki-id_or_label}/feed"    \
-H "Content-Type: application/atom+xml; charset=utf-8" --data "@WikiNewPage01.xml"  -u {username}:{password} -v -k -L

If no error, refresh you Wiki to see the new page created (on left side).

Create a Wiki Page as Child

You will need the {parentUuid} to create a child page. Bellow you have 2 ways to get parentUuid:

  • On return of the first you can get the parentUuid, like-> https://<HOSTNAME>/wikis/basic/api/wiki/{wiki-id_or_label}/page/92cc601d-2ba2-48d2-bbfe-e08ae9316d6d/entry
  • Open the parent page, click on Page Actions and choose Create Child. The new url -> https://<HOSTNAME>/wikis/home?lang=en-us#!/wiki/{wiki-id_or_label}/pages/create?parentId=92cc601d-2ba2-48d2-bbfe-e08ae9316d6d

Let's create our data file.


1) Create the file WikiNewPageChild01.xml, with bellow content:

 <entry xmlns="http://www.w3.org/2005/Atom">
 <title type="text">My First Child Wiki</title>
 <content type="text/html">
  <![CDATA[<?xml version="1.0" encoding="UTF-8"?><p>
  <strong>Hello World! Child</strong>
  </p>]]>
 </content>
 <category term="wikipagetag1" />
 <category term="wikipagetag2" />
 <category scheme="tag:ibm.com,2006:td/type" term="page" label="page" />
 <parentUuid xmlns="urn:ibm.com/td">{parentUuid}</parentUuid>
 </entry>
 

Replace the parentUuid and Save.

2) Now run curl command to create, with a new X-Update-Nonce header:

curl -XPOST "https://{hostname}/wikis/basic/api/wiki/{wiki-id_or_label}/feed"    \
-H "X-Update-Nonce: <NONCE>" -H "Content-Type: application/atom+xml; charset=utf-8" --data "@WikiNewPageChild01.xml"  \
-u {username}:{password} -v -k -L

If no error, refresh you Wiki to see the new page created (on left side).

Update a Wiki Page

Retrieving a Wiki Page

Delete a Wiki Page

Tips

Issues with content element

  • {wiki-id_or_label} is the wiki to which you want to add the page.
  • Prefixing the html in the content element with the following:
<![CDATA[<?xml version="1.0" encoding="UTF-8"?>

and ending it with:

]]>

fixes an issue to display content.

  • Use
    or

    to restrict content.


Tags

Use

 <category term="wikipagetag1" />

to tag your wiki page.


Ver também