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.
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.
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.
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.
Add to AppKernel.php:
Add to routing.yml:
Add to composer.json: