Just tried out this module on a fresh Drupal 7.14 install, and noted a few issues in Firefox and Chrome.

The comment numbers replaced the permalinks properly (#1, #1.1, #2, etc). When you hover over the numbers, the 'tooltip' appears with the 'Reply to this comment' message, but you cannot click on it as the tooltip disappears as soon as you move off the number.

When you reply to a comment with the reply button, no tag is added to the body.

If you manually add a tag to comment, like @#1, the #1 link is added to the comment output. The quoted text appears under the #1, and if you check the tooltip, it is empty. If you check the html output, it is all jumbled and out of order (text is not the span, etc).

Comments

kongoji’s picture

Status: Active » Needs work

Hi neRok,
thank you for the feedback!
I'll look as soon as possible to the issue, trying to reproduce and fix it.

To reply to a comment you can also click on #1, #1.1, #2, ... links you have on the side of the comments. Hovering on these links gives you a tooltip, but if you click on the links (not on the tooltip), you'll add a tag to your comment textarea. I understand now it could be better for user experience to let the tip be clickable too. I'll try to add this functionality soon.

I need some more information about your drupal installation. Are you using some wysiwyg editor? I know you said this is a fresh installation, I just want to be sure this module is fully compatible with other modules. Do you have any module on your drupal installation that is not included in the standard drupal package?

Are you using some different theme than the default (I think is the "Bartik") theme?

I'll try to reproduce and fix the issues, let me know more information if you have the chance.

Thank you again for the feedback!

neRok’s picture

Fresh install as in a new site I am developing, so yes it has other modules like views and wysiwyg. But it isnt and old site that has gone from 6->7.x->7.y etc.

Ah, I was not aware you couldn't click on the tooltip. That explains that.

I also did not have the comment reply form turned on the same page, so as I clicked on the #1, nothing happened (just looked like an anchor). Now that I turned it on, it puts the @#1 tag in. Perhaps this could be looked at passing the info to the reply form on another page?

The 'quote' comment is still broken though. Here is the relevant html.

<div class="field-item even" property="content:encoded">
<p>
<span class="comment-easy-reply-referrer-link-wrapper comment-easy-reply-processed">
<a class="comment-easy-reply-number-link comment-easy-reply-linknum-1 active" href="/alias/title#comment-2">#1</a>
<span class="comment-easy-reply-referrer-link-hover" style="display:none;"> </span>
</span>
</p>
<p>Text from the first comment.</p>
Text from the second comment.
<p></p>
</div>
neRok’s picture

Just did some testing now that I have the comment form visible on the node, and found another error (maybe should have its own issue?!)

Pressing the #num tag inserts @#num as expected, and posts the new comment to the correct hierarchy spot.

If you press reply button on a quote, the comment does not output to the correct hierarchy position. So if you press reply under #1, you would expect the comment to be #1.x, but it actually goes to #2.

kongoji’s picture

Ok, so summarizing the issues:
1) if comment form is not on the same page of comments, "reply" link doesn't work on /comment/reply/* pages.
2) html on tooltip has quoted comment outside the tooltip span
3) on /comment/reply/* pages, clicking on link add a wrong numbered tag

I tried to reproduce all the issues and I think I found a way to reproduce all of them. Below my considerations on the issue:

1) On my drupal installation reply link sent me to /comment/reply/1/2 and there, clicking on reply link, nothing happened. I'll implement reply functionality on /comment/reply/* page as soon as I can.
2) This can be reproduced using wysiwyg editor on comment. I used CKEditor to insert a comment and then I tried reply to that comment. In the last comment, quoted text is outside the tooltip. This could be due to the <p> tags added by wysiwyg, but I'm not sure, I'll look better on it.
3) You are right, it does not calculate right the number of the tag on that page. I'll try to fix it soon.

Besides these issues I'll also implement the clickable "reply to this comment" tooltip.

Thank you for the amazing job you did with your feedbacks and bug-finding!
I'll post on this thread everytime I'll release an improvement on dev version of this module.

kongoji’s picture

Hi neRok,
I just committed a new 7.x-1.x-dev release that should fix all the issues reported on this thread.
It should be available for download in within 12 hours from now, or you can access it using git, it's the 3f2c1a3 commit.
If you have the chance, please test the new release and let me know your feedbacks.
Thank you

neRok’s picture

Good job kongoji, it is all working much better. Still a few things I think could function a bit better.

When you hover over the comments #num, the reply tooltip appears, but if you move the mouse down, it stays visible. It only disappears if you hover the tooltip, then away from it. Can you make it hide if you arent over it or the # tag?

When you click the comments #num tag, it inserts the @#num into the text box. I think it would be better if it were just like the standard permalink (ie if you click it, it moves to the anchor on the page, so basically nothing happens). This got me thinking, perhaps you could have an option to disable the 'reply to link' tooltip above the #num tag all together, then the user can just reply with the standard reply link under the comment.

When you hover over a #num tag in a comment, you see the comment in the tooltip. The #num tag is a link to the original comment, but if you click it, the page does not move. I think it would be good if it did.

Now for a big feature request. I looked at this module to check out its quote abilites, hoping for something like a forum, ie [quote=nerok]this would be a good quote[/quote]. It would be great if you could put this functionality into this module, it would really start to become a one-stop-shop for better comment use-ability. Quotes allow a bit more control than your reply method, as you may only want to quote a single sentence from a comment, whereas your method shows the whole thing.

If you dont want to implement full quote functionality, something still needs to be done to improve the tooltips, because they show the raw comment text, ie "[quote.........[/quote]..........", and look ugly. Perhaps you need an option to pass the comment through an input filter, so this sort of stuff can be stripped out.

If you want to implement full blown quotes (and I hope so!), here is my thoughts on that.
The current Quote module is not the best (IMHO). The quote links are the reply links, with a query and fragment on the end, so something like comment/reply/1212/18?quote=1#comment-form. The quote block they create is also pretty bland, only showing the quoted username and the quote. Still, could pinch the code for a quick start.
A better module I found, but it is only D6, is Quote Plus. It makes the quotes links a lot cleaner, comment/quote/1212/18. It also puts creates a quote block with a lot more info, as it contains the username and links it to the user, and a link to the quoted piece (much like you #num tags). So it puts out something like [quote=nerok:nidorcid]quotetext[/quote] into the editor, which becomes < a href="node-or-comment-link">Quotation of< /a> < a href="user/nerok">nerok< /a>quotetext when viewed (wrapped up in blockquote tags or a special div, etc).

neRok’s picture

You are going to hate me soon :)

I was just toying with the Ideal Comments module. When you click reply, it opens a text box directly below the comment you clicked reply to (I think it does this with ajax). It doesnt work with your module (nothing gets input), but again, perhaps you could merge its code into this module!? Would be an awesome feature. I took a look at the module, it is rather small (only a few functions and 1 js file), so couldnt be too hard.

kongoji’s picture

Hi neRok,
I splitted this thread creating new issues for your feature requests, to better manage them.
The new issues are:
#1607776: Integration with Quote or Quote Plus module
#1607806: Integration with Ideal Comments module

Going back to this issue, let's see what still miss:

  1. better hovering on "Reply to this comment" tooltip (and on #num link)
  2. optional activation of reply function on #num link by module's settings page
  3. #num tag inside a comment body should bring to comment if clicked.

I think the 3 listed above could be good improvements to module's user experience and I'm going to develop them as soon as I'll get the chance.

I also like the idea of letting site administrator choose a filter to apply to comments inside tooltips. I have to look better at Drupal documentation to know if this is possibile. If it is, I'll implement that too.

kongoji’s picture

Hi neRok,
with the last commit d08d245 I developed the followings:

  • better hovering on "Reply to this comment" tooltip (and on #num link)
  • optional activation of reply function on #num link by module's settings page
  • #num tag inside a comment body should bring to comment if clicked
  • text filter applicable on comments inside tooltips. The filter can be choosen in module settings page.
  • "Reply to this comment" message inside tooltip now is configurable

Do you have the chance to try the new dev version (should be available within 12 hours) and provide a feedback?
Thank you

neRok’s picture

I seemed to have managed to download it off git and test it out. It is coming along nicely!

The 'Activate reply tooltip' and 'Allow users to reply to a comment by clicking on comment #NUM link' checkboxes work good.

The tooltip text filter works, but it can break the tooltip. I changed it to one of my other text filters that had the Quote filter enabled (which turns [quote] blocks into formated < blockquote >). This caused the tooltip to be empty, and all the quoted text to print out in the comment. Here is the html for that, to help you decifer.

<a href="url?page=1#comment-16" class="comment-easy-reply-number-link comment-easy-reply-linknum-5.1 active">#5.1</a><span class="comment-easy-reply-referrer-link-hover" style="min-width: 200px; max-width: 340px; left: 128.067px; top: 667.917px; display: none;"></span></span></p><blockquote class="quote-msg quote-nest-1 odd"><div class="quote-author"><em class="placeholder">admin</em> wrote:</div>The text from the comment that was quoted.</blockquote>The text from the comment that was replied to. 

Text from the new comment.<p></p>

I thought of some further 'useability' imporvements whilst testing the above out. Inside the quote tooltip, it would be great to have show the username of the quoted comment. So something like "user: text from the replied comment above". Even better still, perhaps you could make this a custom field with token support, so anything could be input (and still run through the filter).

Another was the 'permalinks' to comments on the first page, they all had ?page=0. If you are on the first page, it is usually just the url, so when you click the url?page=0, it causes the page to reload. It would be good if you could strip the ?page=0 out from the url, which shouldnt be too hard with a simple preg_replace.

Last one is the permalink comment numbers not matching your comment numbers, ie the link to #6 might be comment#32434. Perhaps you could give all the #NUM tags for the comments a name/anchor attribute, so then you can link with the actual comment number, not the comment-id number.

Actually just thought of another whilst typing the last one. Perhaps all the #NUM links should have rel="nofollow" in them, to stop search engines visiting every page of comments over and over? I am not sure if the nofollow is the best method for this, or even required, but just a thought.

neRok’s picture

Just thought of something else. It wouldnt surprise me if users would like different settings for different content types. Perhaps you could move the options from the 'global' admin/config/content/comment-easy-reply page to the comment settings tab within each of admin/structure/types/manage/*****.

kongoji’s picture

Hi neRok,
with the last commit dc029ad the following functionalities were developed:

  • Better managing of url?page=0 in referenced comment links
  • The tooltip html structure has been changed to better manage tags like <blockquote> and <p>
  • Comment Easy Reply default filter for comments inside tooltip has been removed. That's because it is not needed anymore. A "No filter" option has been added to the list of filters applicable to comments inside tooltip.

The rel="no follow" should be used for external links, in my very own opinion it should not be used for this module's link, but I'm ready to change my mind if necessary.

I splitted all other requests in separate issues, to better manage them:
#1621578: Make node-type specific settings
#1621576: Token module support
#1621570: Make comment permalink link match comment number

I would like to fix the issues of this topic to release a 7.x-1.2 version of this module as soon as possible.
After that, I would take care of other feature requests. In particular, I found the Token request really interesting.

neRok’s picture

The latest fixes all seems to be working. Good to see you have a strong commitment to this module, it has some potential. I have subscribed to all the other issues, eagerly awaiting :)

neRok’s picture

I have found a problem with the pager, probably caused by your changes that strip out ?page=0. I wanted to ajax load my comment pages, so I made a content pane and put them on a page for my nodes. Good news is that if you use views to show the rendered comment content, your module still works. You can then turn the views ajax pager on, and it works. Problem is when you have more than 2 pages and you visit page 2, the pager disappears. But on page 1 or 3+, it is still there. I then disabled comment easy reply for this node type, and page 2 pager shows, so that is what leads me to believe the problem is the mentioned url strip you implemented.

Edit: Just did a little more testing. Pager works when using the normal comment output, it only disappears when on a view? Also, the hierarchy has become broken, ie I reply to comment #11, so should make #11.1, but it saves as #12.

kongoji’s picture

Hi neRok,
I tried to reproduce the issue with views' pager but I had no luck.
In my personal opinion there is a big chance the pager issue could not be directly related with the Comment Easy Reply module.
To make a simple test, you should disable Comment Easy Reply module and see if the pager issue is still there. Then re-enable the module and see what happen.
By using the informations I got I couldn't be able to see any disappearing of pager, below the views I used:

$view = new view;
$view->name = 'node_comments';
$view->description = '';
$view->tag = 'default';
$view->base_table = 'comment';
$view->human_name = 'Node Comments';
$view->core = 7;
$view->api_version = '3.0';
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */

/* Display: Master */
$handler = $view->new_display('default', 'Master', 'default');
$handler->display->display_options['use_ajax'] = TRUE;
$handler->display->display_options['access']['type'] = 'perm';
$handler->display->display_options['access']['perm'] = 'access comments';
$handler->display->display_options['cache']['type'] = 'none';
$handler->display->display_options['query']['type'] = 'views_query';
$handler->display->display_options['query']['options']['query_comment'] = FALSE;
$handler->display->display_options['exposed_form']['type'] = 'basic';
$handler->display->display_options['pager']['type'] = 'full';
$handler->display->display_options['pager']['options']['items_per_page'] = '3';
$handler->display->display_options['pager']['options']['offset'] = '0';
$handler->display->display_options['pager']['options']['id'] = '3';
$handler->display->display_options['pager']['options']['expose']['items_per_page_options_all'] = 0;
$handler->display->display_options['style_plugin'] = 'default';
$handler->display->display_options['row_plugin'] = 'comment';
$handler->display->display_options['row_options']['links'] = 1;
/* Relationship: Comment: Content */
$handler->display->display_options['relationships']['nid']['id'] = 'nid';
$handler->display->display_options['relationships']['nid']['table'] = 'comment';
$handler->display->display_options['relationships']['nid']['field'] = 'nid';
$handler->display->display_options['relationships']['nid']['required'] = 1;
/* Field: Comment: Comment */
$handler->display->display_options['fields']['comment_body']['id'] = 'comment_body';
$handler->display->display_options['fields']['comment_body']['table'] = 'field_data_comment_body';
$handler->display->display_options['fields']['comment_body']['field'] = 'comment_body';
$handler->display->display_options['fields']['comment_body']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['comment_body']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['comment_body']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['comment_body']['alter']['external'] = 0;
$handler->display->display_options['fields']['comment_body']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['comment_body']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['comment_body']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['comment_body']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['comment_body']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['comment_body']['alter']['more_link'] = 0;
$handler->display->display_options['fields']['comment_body']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['comment_body']['alter']['trim'] = 0;
$handler->display->display_options['fields']['comment_body']['alter']['html'] = 0;
$handler->display->display_options['fields']['comment_body']['element_label_colon'] = 1;
$handler->display->display_options['fields']['comment_body']['element_default_classes'] = 1;
$handler->display->display_options['fields']['comment_body']['hide_empty'] = 0;
$handler->display->display_options['fields']['comment_body']['empty_zero'] = 0;
$handler->display->display_options['fields']['comment_body']['hide_alter_empty'] = 1;
$handler->display->display_options['fields']['comment_body']['field_api_classes'] = 0;
/* Field: Comment: Reply-to link */
$handler->display->display_options['fields']['replyto_comment']['id'] = 'replyto_comment';
$handler->display->display_options['fields']['replyto_comment']['table'] = 'comment';
$handler->display->display_options['fields']['replyto_comment']['field'] = 'replyto_comment';
$handler->display->display_options['fields']['replyto_comment']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['replyto_comment']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['replyto_comment']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['replyto_comment']['alter']['external'] = 0;
$handler->display->display_options['fields']['replyto_comment']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['replyto_comment']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['replyto_comment']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['replyto_comment']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['replyto_comment']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['replyto_comment']['alter']['more_link'] = 0;
$handler->display->display_options['fields']['replyto_comment']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['replyto_comment']['alter']['trim'] = 0;
$handler->display->display_options['fields']['replyto_comment']['alter']['html'] = 0;
$handler->display->display_options['fields']['replyto_comment']['element_label_colon'] = 1;
$handler->display->display_options['fields']['replyto_comment']['element_default_classes'] = 1;
$handler->display->display_options['fields']['replyto_comment']['hide_empty'] = 0;
$handler->display->display_options['fields']['replyto_comment']['empty_zero'] = 0;
$handler->display->display_options['fields']['replyto_comment']['hide_alter_empty'] = 1;
$handler->display->display_options['fields']['replyto_comment']['link_to_node'] = 0;
/* Sort criterion: Comment: Post date */
$handler->display->display_options['sorts']['created']['id'] = 'created';
$handler->display->display_options['sorts']['created']['table'] = 'comment';
$handler->display->display_options['sorts']['created']['field'] = 'created';
$handler->display->display_options['sorts']['created']['order'] = 'DESC';
/* Contextual filter: Content: Nid */
$handler->display->display_options['arguments']['nid']['id'] = 'nid';
$handler->display->display_options['arguments']['nid']['table'] = 'node';
$handler->display->display_options['arguments']['nid']['field'] = 'nid';
$handler->display->display_options['arguments']['nid']['relationship'] = 'nid';
$handler->display->display_options['arguments']['nid']['default_argument_type'] = 'fixed';
$handler->display->display_options['arguments']['nid']['default_argument_skip_url'] = 0;
$handler->display->display_options['arguments']['nid']['summary']['number_of_records'] = '0';
$handler->display->display_options['arguments']['nid']['summary']['format'] = 'default_summary';
$handler->display->display_options['arguments']['nid']['summary_options']['items_per_page'] = '25';
$handler->display->display_options['arguments']['nid']['break_phrase'] = 0;
$handler->display->display_options['arguments']['nid']['not'] = 0;
/* Filter criterion: Comment: Approved */
$handler->display->display_options['filters']['status']['id'] = 'status';
$handler->display->display_options['filters']['status']['table'] = 'comment';
$handler->display->display_options['filters']['status']['field'] = 'status';
$handler->display->display_options['filters']['status']['value'] = 1;
$handler->display->display_options['filters']['status']['group'] = 1;
$handler->display->display_options['filters']['status']['expose']['operator'] = FALSE;
/* Filter criterion: Content: Published */
$handler->display->display_options['filters']['status_node']['id'] = 'status_node';
$handler->display->display_options['filters']['status_node']['table'] = 'node';
$handler->display->display_options['filters']['status_node']['field'] = 'status';
$handler->display->display_options['filters']['status_node']['relationship'] = 'nid';
$handler->display->display_options['filters']['status_node']['value'] = 1;
$handler->display->display_options['filters']['status_node']['group'] = 1;
$handler->display->display_options['filters']['status_node']['expose']['operator'] = FALSE;

/* Display: Content pane */
$handler = $view->new_display('panel_pane', 'Content pane', 'panel_pane_1');

I think I'll add soon a "Comment Easy Reply link" field in views to print out comments in separate fields using views.

neRok’s picture

I will have a fiddle with it tomorrow to get the exact steps needed to reproduce. You have to have a lot of comments though, say 30+, so that the pager is 3+. It might be an issue with the view pager having a different amount comments listed than the comment list settings.

I did try disable the comment easy reply module and the issue was resolved. It could be a conflict with another module though. I will test on a brand new D7 install tomorrow, with only views and comment easy reply installed.

A view field would be awesome, the only way I got get it to appear was by showing the rendered comment.

neRok’s picture

Okay, brand new standard install of 7.14, and installed latest view, ctools and panels modules and best dev of this module.
Edited the article node type to show 10 comments per page.
Create an article node, added 17 comments (a mix of 3 level deep comments and first level etc).
View the page, everything works as expected.
Make a view of comments, showing the Comment. Enable ajax, page at 10.
Either make a new page, or edit the node-view. Tested that both have the problem.
Make a page, add the node body and comment view made above (passing it the nid).
View the page (ie node/1), the ajax pager will show, click next or 2, the new page will load but the pager will disapear.
Disable comment easy reply module, visit page again, pager works correctly.

Also tested changing the pager to 5 in the view settings.
Now the pager will disappear on pages 3 and 4.

And the lightbulb just clicked on. I worked out the pattern causing the errors, and tested with different pager amounts to be sure.
If the first comment on the page is a child comment, (therefore the parent is on a previous page) the pager dissapears!

kongoji’s picture

Hi neRok,
thank to your explanation I could reproduce the bug on vies ajax pager and I think I have been able to fix it.
I released the bugfix on commit 001477d
If you have the chance to test it, please let me know if it worked.
I'm going to focus on creating all the fields for views, hoping to get it sorted out soon.

neRok’s picture

Tested, seems fixed.

Views fields sound great!

kongoji’s picture

Hi neRok,
I've finally been able to find the time to develop the views fields (commit c2461ca).

The new fields allow to display the comment number and the comment reply link into a field-based views.
Moreover, a new option has been added to the comment body field to allow to parse the comment body converting any @#NUM to its link+tooltip also inside views.

I would like to get a feedback from you, because if everything should be fine with this last update, I think it's really the time to make a 7.x-1.2 release of this module.

neRok’s picture

Hey kongoji, sorry for the delay, I have been flat out lately and not had time to fiddle with my website. Anyway, I have just downloaded the latest dev from the project page, which was dated 20-July. This may have slightly different/more changes to the commit you mentioned, I'm not sure.

I cant remember every tiny 'problem' I had encountered before, but just looking at it now, I have spotted a few tweaks. I used the fresh 7.14 install I used to work out the views pager problem, and using that same view (ie outputting the rendered comment) I found;
- The #NUM tag inside a comment body shows the link to the replied comment and the tooltip appears, but if you click the link, it doesnt take you to that comment.
- With multiple pages, a like on any page except the first to a comment on the first page looks like this, /node/1?page=0#comment-num-1. Could you strip the page=0 out, and send direct to the home URL.
- The link that is output as the comments title has not been changed to you comment-num-# system, so it is still of the format /comment/cid#comment-cid
- Maybe an option to tweak the URL string, maybe with token support. So instead of comment-num-x, something like reply-num-x or post-num-x could be used (people may not like calling forum responses comments, for example).

Then I edited the view to show fields. I noted that;
- The option to turn @#NUM tags within the comments body into tooltips doesnt work. If yes or no, they are always converted.
- Similar with the Comment: Comment Easy Reply Comment number field. The 2 checkboxes dont seem to do anything. This is probably a good thing, force the settings to be the same as the settings page (which would be even more appropriate if moved to a settings page per content type. Think I brought this up once before.)
- If you insert a 'view link' field, it will have the same url as the comments title (/comment/cid#comment-cid). Maybe an option to override this?

kongoji’s picture

Hi neRok,
thank you again for the feedback, since last time you tested the module lots of little improvements have been made to it, in particular related to views. Because of that, maybe some of the issues you listed above could be fixed by empty the cache (I hope).

I'll test as soon as I can all the issues in your list, Tokens and "per-content-type settings" have thier own issues and I'll face them once all the interface problems will be fixed.

Thank you again for the amazing job you're doing with testing

kongoji’s picture

Status: Needs work » Fixed

Hi neRok,
the functionalities contained in this very long thread have been included in 7.x-1.2 version of the module.
I mark this issue as fixed.
I guess I'll miss this thread, but it's time to close it and open a different issue for every next single bug/request.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.