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

From Wiki
No edit summary
No edit summary
 
(44 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''THIS DOCUMENT IS ON DRAFT'''


Using Atom, you can can create, retrieve, update, or delete wiki pages.
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 [https://www-10.lotus.com/ldd/lcwiki.nsf/xpAPIViewer.xsp?lookupName=IBM+Connections+5.5+API+Documentation#action=openDocument&res_title=Working_with_wiki_pages_ic55&content=apicontent Working with wiki pages IBM Connections 5.5 API].


I will work with some examples, if you want more details see documentation on [https://www-10.lotus.com/ldd/lcwiki.nsf/xpAPIViewer.xsp?lookupName=IBM+Connections+5.5+API+Documentation#action=openDocument&res_title=Working_with_wiki_pages_ic55&content=apicontent Working%20with%20wiki%20pages IBM Connections 5.5 API].
After read this article see [[IBM Connections: Creating Wiki pages with advanced templates]]


First of all you must create a Wiki on Connections, open this wiki and get the '''wiki-label'''.
= Working with Wiki Pages =


W34c123febb3c_4a55_81b7_0d5a123c1234
== Getting wiki-label ==


= Create a Wiki Page =
First of all you must create a Wiki on Connections, open this wiki and get the '''wiki-label'''. It must be as follow:
 
<nowiki>https://</nowiki>{hostname}/wikis/home?lang=en-us#!/wiki/'''{wiki-id_or_label}'''
 
Examples;
* For Wikis inside a community -> <nowiki>https://</nowiki>{hostname}/wikis/home?lang=en-us#!/wiki/'''W0123c2ccb6b6_45aa_bc4e_865da123063a'''
* For Wikis outside a community ->  <nowiki>https://</nowiki>{hostname}/wikis/home?lang=en-us#!/wiki/'''User Guide'''
 
== Create a Wiki Page ==


Let's create our data file.
Let's create our data file.


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


  <nowiki>
  <nowiki>
Line 33: Line 40:
2) Now run curl comand to create  
2) Now run curl comand to create  


  curl -XPOST "https://'''{hostname}:{port}'''/wikis/basic/api/wiki/{wiki-label}/feed"
  curl -X POST "https://'''{hostname}'''/wikis/basic/api/wiki/'''{wiki-id_or_label}'''/feed"   \
  -H "Content-Type: application/atom+xml" --data "@WikiNewPage01.xml"  -u '''{username}:{password}''' -v -k -L
  -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
: <nowiki>https://</nowiki><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
: -> <nowiki>https://</nowiki><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:
 
<nowiki>
<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"></nowiki>'''{parentUuid}'''<nowiki></parentUuid>
</entry>
</nowiki>
 
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 ==


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


=== Issues with content element ===
<nowiki>
<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"></nowiki>'''{parentUuid}'''<nowiki></parentUuid>
</entry>
</nowiki>
 
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
: <nowiki><strong>Hello World! Version 1</strong></nowiki>
to
: <nowiki><strong>Hello World! Version 2 update after version 1</strong></nowiki>
 
Save file
 
4) Get {page_id_or_label}
 
You can get page_id from last curl command or from open wiki page and get link on "'''Feed for this page'''", like
 
: "https://'''{hostname}'''/wikis/basic/api/wiki/{wiki-id_or_label}/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 ==
 
Run curl again
 
curl -X GET "https://'''{hostname}'''/wikis/basic/api/wiki/{wiki-id_or_label}/page/{page_id_or_label}/entry"    \
-H "Content-Type: application/atom+xml; charset=utf-8" '''-o output.xml''' \
-u {username}:{password} -v -k -L
 
To retrieve wiki page using '''anonymous''' access, use url '''/wikis/basic/anonymous/api/wiki/{wiki-label}/page/{page-label}/entry'''
 
== Delete a Wiki Page ==
 
Run curl


* {wiki-label} is the wiki to which you want to add the page.
curl -X '''DELETE''' "https://'''{hostname}'''/wikis/basic/api/wiki/{wiki-id_or_label}/page/{page_id_or_label}/entry"    \
-H "Content-Type: application/atom+xml; charset=utf-8"  \
-u {username}:{password} -v -k -L


* Prefixing the html in the content element with the following:
= Tips =


<![CDATA[<?xml version="1.0" encoding="UTF-8"?>


and ending it with:
=== Issues with content element ===


  ]]>
To avoid problems with html content element add CDATA tags
 
  <nowiki><![CDATA[<?xml version="1.0" encoding="UTF-8"?></nowiki>
'''{PUT YOUR CONTENT HERE}'''
<nowiki>]]></nowiki>


fixes an issue to display content.
fixes an issue to display content.


* Use <div> or <p> to restrict content.
* Use <nowiki><div></div></nowiki> or <nowiki><p></p></nowiki> to restrict content.


=== Tags ===
=== Tags ===
Line 62: Line 176:
to tag your wiki page.
to tag your wiki page.


= Create a Wiki Page as Child =
= Update a Wiki Page =
= Retrieving a Wiki Page =


= Delete a Wiki Page =


= Ver também =
= Ver também =
* [[IBM Connections: Creating Wiki pages with advanced templates]]


* Mais Artigos sobre [[IBM Connections]]
* Mais Artigos sobre [[IBM Connections]]

Latest revision as of 19:22, 24 November 2016

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.

After read this article see IBM Connections: Creating Wiki pages with advanced templates

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

<strong>Hello World! Version 1</strong>

to

<strong>Hello World! Version 2 update after version 1</strong>

Save file

4) Get {page_id_or_label}

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

"https://{hostname}/wikis/basic/api/wiki/{wiki-id_or_label}/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

Run curl again

curl -X GET "https://{hostname}/wikis/basic/api/wiki/{wiki-id_or_label}/page/{page_id_or_label}/entry"    \
-H "Content-Type: application/atom+xml; charset=utf-8" -o output.xml \
-u {username}:{password} -v -k -L

To retrieve wiki page using anonymous access, use url /wikis/basic/anonymous/api/wiki/{wiki-label}/page/{page-label}/entry

Delete a Wiki Page

Run curl

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

Tips

Issues with content element

To avoid problems with html content element add CDATA tags

<![CDATA[<?xml version="1.0" encoding="UTF-8"?>
{PUT YOUR CONTENT HERE}
]]>

fixes an issue to display content.

  • Use <div></div> or <p></p> to restrict content.

Tags

Use

 <category term="wikipagetag1" />

to tag your wiki page.


Ver também