Feature: Social Integration
The "social" component is a possible Occam extension that will allow commenting and posts to be made adjacent to an object. This allows people to comment about the object and place information about how to use or run the object.
This will be an elective component that you can add to your instance.
Federation of the social content should be considered from the start. There are technologies and standards, such as ActivityPub, which can/should be used to facilitate the federation and the data format for the content. Hopefully such libraries can be used directly within the component and we don't need to reinvent a lot.
This is an extension toward AE / EASE.
Required Features (in order of planned implementation)
-
Form for commenting (front end) -
Storage/Retrieval/Export of comments (back end)(Hard) * Store initially as a string object (I assume the backend handles unicode). * Serialization (Use W3C Activity Streams per Wilkie). * Should support threading from the start. -
Displaying comments(front end) -
Threaded Comments(front end) * This is necessary in order to understand the progression of conversation. * [x] Expand threads * [x] Indent replies to a thread head. -
Anonymity(front end) * [x] Toggle-able * [x] Aliasing (Voice #1 (closed) instead of "Bob Jones"). - User is aliased per object.
- Must maintain alias throughout thread in order to show the same "voice" when two people are talking. * [x] Anonymous avatars
-
Support Markdown * [x] Strip HTML tags to prevent XSS attacks. -
User reply notification / RSS (front & back end)(Hard) -
Moderating comments(per object/per system?) (front & back end)(Hard) * [x] Deleting (Easy, commentor/admin only) Motivation: - I meant to comment about paper X, but accidentally posted to paper Y.
- Dealing with SPAM. * [x] Editing
-
Versioned comments (Ability to add update to comment while leaving the original text viewable.) - Necessary for dealing with mistakes. Should be heavily restricted to maintain archival vision of OCCAM.
Pessimistic time estimation (using PERT formula)
Task/Feature | Time Est. | Taken |
---|---|---|
Comment form | 3 hrs | 3 hrs |
Comment Storage/Retrieval/Export | 21 hrs | 21 hrs |
Displaying comments(threaded) | 25 hrs | 25 hrs |
Anonymity | 25 hrs | 1 hrs |
Apply Markdown | 6 hrs | 1.5 hrs |
Colored Avatars | N/A | 3 hrs |
Reply notification | 45 hrs | N/A |
Moderation | 42 hrs | N/A |
Total | 167 hrs | N/A |
Design choices
Max comment length will be 1500 characters. This would allow for roughly 2 decent sized paragraphs of comment. Longer issues should probably be done in a bug tracker/via email.
Date Format will be ISO standard: YYYY-MM-DDThh:mm:ssZ, which is UTC time. E.g. "2017-09-13T16:07:03Z".