Update a stand-alone forum topic programmatically
To update a topic in a stand-alone forum, send an updated forum topic document in Atom format to the existing forum topic's edit web address.All existing forum topic metadata will be replaced with the new data. To avoid deleting all existing data, retrieve any data you want to retain first, and send it back with this request. See Retrieve forum topics for more information.
See Authenticating requests for information about how to authenticate the request.
Table 1. Atom API request details
Method Resource URI Input representation PUT forum topic Value of the href attribute of the <link> element that has a rel="edit" attribute value for each entry in the forum topics feed. forum topic
Input
Provide a feed link Atom entry document.Note: The content type of the Atom entry document must be application/atom+xml.
- To pin a topic, add a <category term="pinned" scheme="http://www.ibm.com/xmlns/prod/sn/flags"/> element to the forum topic entry document that you pass in on the request. To remove a pin from a topic, remove the element from the topic entry document.
- To lock a topic, add a <category term="locked" scheme="http://www.ibm.com/xmlns/prod/sn/flags"/> element to the forum topic entry document that you pass in on the request. To unlock a locked topic, remove the element from the topic entry document.
- To mark a normal topic as a question, add a <category term="question" scheme="http://www.ibm.com/xmlns/prod/sn/flags"/> element to the forum topic entry document that you pass in on the request. To change a question to a normal topic, remove the element from the topic entry document.
To add an attachment to a topic entry without any, send the modified entry document with an attachment using a multipart PUT request. On a successful PUT, metadata for the attachment will be added to the entry. For example:
<snx:field name="resume" fid="id of the attached file node" ...> <link href="link to the attachment" /> </snx:field>To update a topic entry that already has file attachments, send the modified entry document with an attachment using a multipart PUT request. On a successful PUT, metadata for the attachment will be added to the entry. For example:
<snx:field name="resume" fid="id of the attached file node" ...> <link href="link to the attachment" /> </snx:field>Any file snx:fields that you want to keep must be present in the entry document. Otherwise, they will be removed from the entry.
To remove an attachment, remove the snx:field for the file from the entry document's metadata, and then send a PUT request.
Output
None.Returned HTTP headers
HTTP/1.1 200 OK
Indicates that the forum topic was successfully updated. If an error occurs, this header contains one of the error codes.
- HTTP/1.1 401 Unauthorized
- HTTP/1.1 404 Not Found
Request:
PUT /forums/atom/topic?topicUuid=84139b22-17f0-4290-939b-73370c6ef17c HTTP/1.1 Host: www.dulcinea.com Content-Type: application/atom+xml Authorization: xxx Content-Length: nnn <entry xmlns="http://www.w3.org/2005/Atom"> <id>urn:lsid:ibm.com:forum:84139b22-17f0-4290-939b-73370c6ef17c</id> <title type="text">Test topic 1</title> <published>2010-08-04T21:45:09.324Z</published> <updated>2010-08-04T21:45:09.324Z</updated> <author> <email>jdoe@literature.com</email> <name>Jane Doe</name> <snx:userid xmlns:snx="http://www.ibm.com/xmlns/prod/sn"> 772A006E-0A01-8703-8525-7346003DAFD6 </snx:userid> <snx:userState xmlns:snx="http://www.ibm.com/xmlns/prod/sn">active</snx:userState> </author> <link href="https://www.dulcinea.com/forums/atom/topic?topicUuid=84139b22-17f0-4290-939b-73370c6ef17c" rel="self" type="application/atom+xml"></link> <link href="https://www.dulcinea.com/forums/atom/topic?topicUuid=84139b22-17f0-4290-939b-73370c6ef17c" rel="edit" type="application/atom+xml"> </link> <category term="forum-topic" scheme="http://www.ibm.com/xmlns/prod/sn/type"></category> <category term="bb"></category> <category term="aa"></category> <link href="https://www.dulcinea.com/forums/html/topic?id=84139b22-17f0-4290-939b-73370c6ef17c" rel="alternate" type="text/html"> </link> <link xmlns:thr="http://purl.org/syndication/thread/1.0" href="https://www.dulcinea.com/forums/atom/replies?topicUuid=84139b22-17f0-4290-939b-73370c6ef17c" rel="replies" type="application/atom+xml" thr:count="0"> </link> <thr:in-reply-to xmlns:thr="http://purl.org/syndication/thread/1.0" href="https://www.dulcinea.com/forums/atom/topics?forumUuid=e1b8faff-afc7-4ba8-9269-05bfd592efc7" ref="urn:lsid:ibm.com:forum:e1b8faff-afc7-4ba8-9269-05bfd592efc7" type="application/atom+xml"> </thr:in-reply-to> <content type="html">updated topic test</content> <snx:permissions xmlns:snx="http://www.ibm.com/xmlns/prod/sn"> none, create_forum, view_forum, edit_forum, del_forum, create_post, edit_personal_post, edit_all_post, del_personal_post, del_all_post, pin_topic, subscribe, lock_node, add_member, delete_member, create_topictag, del_all_topictag, del_personal_topictag, create_forumtag, del_all_forumtag, del_personal_forumtag, view_category, edit_personal_question, edit_all_question </snx:permissions> </entry>Response:
HTTP/1.1 200 OK
Parent topic
Work with stand-alone forum topicsRelated reference
Forum topic entry content
});