{"id":510,"date":"2009-08-15T17:45:43","date_gmt":"2009-08-15T22:45:43","guid":{"rendered":"http:\/\/williamsportwebdeveloper.com\/cgi\/wp\/?p=510"},"modified":"2019-12-10T15:01:16","modified_gmt":"2019-12-10T20:01:16","slug":"elgg-threaded-blog-comments","status":"publish","type":"post","link":"http:\/\/williamsportwebdeveloper.com\/cgi\/wp\/?p=510","title":{"rendered":"Elgg Threaded Blog Comments"},"content":{"rendered":"<p>I have finally finished my work on a threaded comment system for <a href=\"http:\/\/www.elgg.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Elgg 1.2<\/a>. You can download the plugin at <a title=\"http:\/\/community.elgg.org\/pg\/plugins\/rsrobbins\/read\/228544\/threaded-blog-comments\" href=\"http:\/\/community.elgg.org\/pg\/plugins\/rsrobbins\/read\/228544\/threaded-blog-comments\">http:\/\/community.elgg.org\/pg\/plugins\/rsrobbins\/read\/228544\/threaded-blog-comments<\/a> This must completely replace the existing blog plugin because the change from an annotation comment to an ElggObject comment is more extensive than a view can handle. But I tried to follow the Elgg way of doing things as much as possible.<\/p>\n<p>The Threaded Blog Comments plugin allows you to reply to a specific blog comment so you can create comment threads without using some hack like the @ ampersand sign (made popular by Twitter). A comment that is a reply to a previous comment will appear underneath and indented. This makes it much easier to have a conversation in the comments. In addition to the nesting of comments, I also added pagination controls for comments which was not a feature of the original comment system.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.williamsportwebdeveloper.com\/images\/Elgg-Threaded-Comments.jpg\" \/><\/p>\n<p>Much of this work is based on the similar customization I did for <a href=\"http:\/\/www.ning.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Ning<\/a> before they killed their platform for third party developers. And prior to that I developed this style of nested comments for YouTube videos using the YouTube API which you can see at <a title=\"http:\/\/www.williamsportwebdeveloper.com\/YouComment.aspx\" href=\"http:\/\/www.williamsportwebdeveloper.com\/YouComment.aspx\">http:\/\/www.williamsportwebdeveloper.com\/YouComment.aspx<\/a>. The legacy of this prior work is that the Elgg version still uses a XML feed. So you also get a RSS feed for a blog&#8217;s comments as a bonus.<\/p>\n<p>If I don&#8217;t go back to work any time soon, I&#8217;ll work on applying this customization to Elgg 1.5. I will also see about implementing nested comments for other types of content besides blogs.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I have finally finished my work on a threaded comment system for Elgg 1.2. You can download the plugin at http:\/\/community.elgg.org\/pg\/plugins\/rsrobbins\/read\/228544\/threaded-blog-comments This must completely replace the existing blog plugin because the change from an annotation comment to an ElggObject comment &hellip; <a href=\"http:\/\/williamsportwebdeveloper.com\/cgi\/wp\/?p=510\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[127,6,12,11],"tags":[369,370,1153],"_links":{"self":[{"href":"http:\/\/williamsportwebdeveloper.com\/cgi\/wp\/index.php?rest_route=\/wp\/v2\/posts\/510"}],"collection":[{"href":"http:\/\/williamsportwebdeveloper.com\/cgi\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/williamsportwebdeveloper.com\/cgi\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/williamsportwebdeveloper.com\/cgi\/wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/williamsportwebdeveloper.com\/cgi\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=510"}],"version-history":[{"count":3,"href":"http:\/\/williamsportwebdeveloper.com\/cgi\/wp\/index.php?rest_route=\/wp\/v2\/posts\/510\/revisions"}],"predecessor-version":[{"id":3301,"href":"http:\/\/williamsportwebdeveloper.com\/cgi\/wp\/index.php?rest_route=\/wp\/v2\/posts\/510\/revisions\/3301"}],"wp:attachment":[{"href":"http:\/\/williamsportwebdeveloper.com\/cgi\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=510"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/williamsportwebdeveloper.com\/cgi\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=510"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/williamsportwebdeveloper.com\/cgi\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=510"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}