eZ Publish: Comment / UGC system, Requirements, 4.3 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ $Author: ar $ $Revision: 24420 $ $Date: 2009-12-03 09:29:54 +0100 (Thu, 03 Dec 2009) $ :Status: Draft .. contents:: ======= Preface ======= eZ Publish already has possibility to have comments and has since the start. But for large customers using the content structure is not optimal for scalability as overhead of node / object / attributes are to high for user generated content (UGC) on high throughput sites. Beside scalability there is high demand for better approval, moderation, reporting and spam handling of UGC. ======== Features ======== In prioritized order for 4.3: #1 New comment extension ------------------------ Should: Use custom table with fields for id, text, name, webpage, email, time, user id, object id, object attribute id, language Should: Support posting by logged in and not logged in users Should: Automatically fill in name, email and webpage if logged in Should: Store name / email / web address in cookie for later use if user is not logged in and she checks a 'Remember me' checkbox Should: Tie in to objects with datatype (so add attribute if you want comments) Should: Support read and write permissions (use ezp roles to control access) Should: Be able to enable/disable and hide/show comments pr object attribute (on datatype content view) Should: Use ezjscore and make comment interface ajaxed (opt in) Should: Be extendable to be able to plugin captcha and spam detection system Should: Support listing comments with template and ajax with paging Should: Remove comments when object / attribute is removed Could: Support automatically disabling commenting pr attribute after n days Could: [later version] Support reply to comment, thus supporting threaded comments Could: Have fields for ip and session key for moderation use (this could be provided by #2) Could: Store comment count on object attribute so it has the count without querying table Might: Need additional table columns for moderation unless moderation system (#2) provides separate storage for content waiting for moderation #2 New moderation system ------------------------ Should: Add a tab in admin for UGC moderation Should: Allow automatically approval by setting or permissions Should: Separate between approved, not approved(deleted/hidden) and un moderated (auto approved) content Could: Provide dashboard box for moderation task / lists (see admin refresh requirement document) Could: Support email notification to approver Could: Be implemented abstracted so it can be re used later for other types of UGC. #2.1 User reporting features (user moderation) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Should: Support reporting UGC Could: Support notifications to admin when content is reported Could: Support automatic un publishing content when reported n times if not previously moderated (auto approved) #3 Notification support for comments ------------------------------------ Terms: subscriber = A logged in or anonymous user with mail subscription = A relation between subscriber and the content she subscribes to Should: Allow commenter to subscribe on notifications pr object in comment form Should: Trigger notification system on comment publish Should: Have a interface for changing subscription Should: Send approval request of subscription to email if anonymous (once pr subscription) Could: Support sending collection of subscription in one mail on timely intervals #4 eZFind/search support for comments [for later] ------------------------------------------------- Should: Provide text string of comments to normal search engine Should: Support sub attribute filter or something similar in ezfind