IBM Connections: Using Connections API on Wiki Pages: Difference between revisions

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


3) Change file '''WikiNewPageChild02.xml''', with bellow content:
3) Change file '''WikiNewPageChild02.xml''', from
 
  <strong>Hello World! Version 1</strong>
 
to


   <strong>Hello World! Version 2 update after version 1</strong>
   <strong>Hello World! Version 2 update after version 1</strong>
Line 120: Line 124:
Save file  
Save file  


4) Run curl again
4) Get {page_id_or_label}
 
You can get page_id from left command or from open wiki page and get link on "Feed for this page", like
 
"https://'''{hostname}'''/wikis/basic/api/wiki/e41bf031-3a55-4bb3-adb4-fc69123a974b/page/62e04284-194e-4564-bb68-6f55486d70e6/feed?category=version
 
5) Run curl again


  curl -X PUT "https://'''{hostname}'''/wikis/basic/api/wiki/{wiki-id_or_label}/page/{page_id_or_label}/entry?createVersion=true"    \
  curl -X PUT "https://'''{hostname}'''/wikis/basic/api/wiki/{wiki-id_or_label}/page/{page_id_or_label}/entry?createVersion=true"    \

Revision as of 18:54, 24 November 2016

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 -X POST "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 response from first curl command, 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 -X POST "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

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

 <entry xmlns="http://www.w3.org/2005/Atom">
 <title type="text">My Second Child Wiki</title>
 <content type="text/html">
  <![CDATA[<?xml version="1.0" encoding="UTF-8"?><p>
  <strong>Hello World! Version 1</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 -X POST "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 "@WikiNewPageChild02.xml"  \
-u {username}:{password} -v -k -L

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

3) Change file WikiNewPageChild02.xml, from

 Hello World! Version 1

to

 Hello World! Version 2 update after version 1

Save file

4) Get {page_id_or_label}

You can get page_id from left command or from open wiki page and get link on "Feed for this page", like

"https://{hostname}/wikis/basic/api/wiki/e41bf031-3a55-4bb3-adb4-fc69123a974b/page/62e04284-194e-4564-bb68-6f55486d70e6/feed?category=version

5) Run curl again

curl -X PUT "https://{hostname}/wikis/basic/api/wiki/{wiki-id_or_label}/page/{page_id_or_label}/entry?createVersion=true"    \
-H "Content-Type: application/atom+xml; charset=utf-8" --data "@WikiNewPageChild02.xml"  \
-u {username}:{password} -v -k -L

we use createVersion=true, to create a new version of wiki page, if you don't want a new version change createVersion=false.

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