Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Comment API: Difference between revisions

From MoodleDocs
m (API)
Line 70: Line 70:
| content of comment
| content of comment
|}
|}
==Comments API==
lib/weblib.php
===class comments()===
====__construct($contextid, $comment_area, $itemid))====
====print_comment_link()====
Will print a comment link, click it you will get commenting interface
====print_comments($params = array())====
print threaded comments
====add($content, $parent_id)====
Add comment to database
====delete($id)====
delete a comment
====edit($id, $content)====
Edit a comment
==Javascript API==
Can be found in lib/javascript-static.js
===do_comment(html_id, contextid, comment_area, itemid)===
Create a new comment
===reply_comment(html_id, contextid, comment_area, itemid, parent_id)===
Reply a existed comment
===submit_comment===
Using AJAX to submit a comment or a reply
===comment_callback===


==Mockup==
==Mockup==

Revision as of 03:19, 11 May 2009

Objectives

The goals of comments 2.0:

  • Manage comments centrally
  • Use a consistent approach for all comments throughout Moodle
  • Easily integrate comments 2.0 with existing modules


Overview

The comments 2.0 provides APIs to:

  1. Add comments
  2. Update comments

And provides an ajax interface to allow adding comments on a floating DIV.

Comments database table

Field Type Default Info
id int(10) auto-incrementing The unique ID for this comment.
user_id int(10) who wrote this comment
parent_id int(10) the ID for parent comment
contextid int(10) The context id defined in context table - identifies the instance of plugin owning the comment.
itemid int(10) Some plugin specific item id (eg. forum post, blog entry or assignment submission)
comment_area int(10) a comment should belong to a comment area
timecreated int(10)
timemodified int(10)
content text content of comment

Comments API

lib/weblib.php

class comments()

__construct($contextid, $comment_area, $itemid))

print_comment_link()

Will print a comment link, click it you will get commenting interface

print_comments($params = array())

print threaded comments

add($content, $parent_id)

Add comment to database

delete($id)

delete a comment

edit($id, $content)

Edit a comment


Javascript API

Can be found in lib/javascript-static.js

do_comment(html_id, contextid, comment_area, itemid)

Create a new comment

reply_comment(html_id, contextid, comment_area, itemid, parent_id)

Reply a existed comment

submit_comment

Using AJAX to submit a comment or a reply

comment_callback

Mockup

File:comment interface mockup.png


See also