We're updating the issue view to help you get more done. 

Comments on content for easier collaboration

Description

Background

In most cases content is made together with different persons. The first user creates a draft version, the second user reviews it. Currently the reviewer cannot add his comments in the system easily. To allow this we want to create the IntegratedCommentBundle.

Requirements

  • When the uses selects text in a (normal input) text field or the TinyMCE editor an "Add comment" appears above the text.

  • When he clicks the button the comment screen appears


    The comment screen contains: the avatar and name of the person that is currently logged in, the creation time. If no person is connected to the user (the $user->getRelation() is null or not a person object) the username will appear without avatar. Note: Edit, Delete and Resolved can be skipped for now and will be added to a later version. When creating the text area to add a comment will have a placeholder "Add a comment" and button "Add comment". When opening a current comment the placeholder will be "Leave a reply" with button "Reply"

  • After adding the comment the tinymce editor will keep showing the line as selected (actually some kind of highlight will be needed). Click on the text will open the comment window.

  • For text fields highlighting will be hard. Because of that a blue bar need to be added to the text field for the comment. Click on the blue bar will open the comment.

  • When opening a current comment it is possible to add a reply.

Technical solution

  • CSS of comment screen is available. The .zip attached to this issue contains the comment.html file. The css is already included in the ContentBundle CSS.

  • The code will be in a separate bundle: IntegratedCommentBundle. This bundle will be optional.

  • Comments need to be saved in a separate collection. Please provide XML mapping for ORM and ODM.

  • Comment can be saved individually, separate from the whole content item.

  • The comment features need to be added with javascript, to separate with feature from the content bundle. (formtypes in the contentbundle should not be modified)

  • Currently there is not a nice way to add the javascript dynamically. So for now it need to be included in the ContentBundle or config, that's OK.

  • When saving the article the TinyMCE highlighting need to be removed before the content is submitted, because it should not be stored in the Content document.

Deployment actions

Add to AppKernel.php:
new Integrated\Bundle\CommentBundle\IntegratedCommentBundle(),

Add to routing.yml:
integrated_comment:
resource: "@IntegratedCommentBundle/Resources/config/routing.xml"
prefix: "/admin"

Add to composer.json:
"integrated/comment-bundle": "~0.6.0"

Technical tasks

None

Status

Assignee

Unassigned

Reporter

Marijn Otte

Labels

None

Product owner

None

OTM project ID

None

Client

Marijn Otte

Plan date

None

Developer

None

Code reviewer

None

Max. hours

None

Error message

None

Follow up date

None

Switches

None

Refiner

None

Time tracking

0m

Epic Link

Components

Fix versions

Priority

Major