How to allow node authors to mark the best comment and to promote this comment on the top of list In my project comments are prices so its important that commenters see author's choice. I want to allow authors to choose the best comment that would get this comment promoted on the top of a comments list. Can I do it with Rules or some other ways?
As discussed in the comments above, you can create a global Flag, say Best price, for comments. In order to reorder the comments, you can create a comment View which displays all comments of a certain node with the flagged ones on top. Afterwards, display the associated block on the node's page.

Maybe there is an easier way to reorder the comments, but this should at least work and illustrate the strength of the Views module. Underneath is my exported View, which you can easily import and adapt to your needs if necessary:

$view = new view();
$view-&gt;name = 'reordered_comments';
$view-&gt;description = '';
$view-&gt;tag = 'default';
$view-&gt;base_table = 'comment';
$view-&gt;human_name = 'Reordered comments';
$view-&gt;core = 7;
$view-&gt;api_version = '3.0';
$view-&gt;disabled = FALSE; /* Edit this to true to make a default view disabled initially */

/* Display: Master */
$handler = $view-&gt;new_display('default', 'Master', 'default');
$handler-&gt;display-&gt;display_options['use_more_always'] = FALSE;
$handler-&gt;display-&gt;display_options['access']['type'] = 'perm';
$handler-&gt;display-&gt;display_options['access']['perm'] = 'access comments';
$handler-&gt;display-&gt;display_options['cache']['type'] = 'none';
$handler-&gt;display-&gt;display_options['query']['type'] = 'views_query';
$handler-&gt;display-&gt;display_options['exposed_form']['type'] = 'basic';
$handler-&gt;display-&gt;display_options['pager']['type'] = 'none';
$handler-&gt;display-&gt;display_options['pager']['options']['offset'] = '0';
$handler-&gt;display-&gt;display_options['style_plugin'] = 'default';
$handler-&gt;display-&gt;display_options['row_plugin'] = 'comment';
/* Relationship: Comment: Content */
$handler-&gt;display-&gt;display_options['relationships']['nid']['id'] = 'nid';
$handler-&gt;display-&gt;display_options['relationships']['nid']['table'] = 'comment';
$handler-&gt;display-&gt;display_options['relationships']['nid']['field'] = 'nid';
$handler-&gt;display-&gt;display_options['relationships']['nid']['required'] = TRUE;
/* Relationship: Flags: best_price */
$handler-&gt;display-&gt;display_options['relationships']['flag_content_rel']['id'] = 'flag_content_rel';
$handler-&gt;display-&gt;display_options['relationships']['flag_content_rel']['table'] = 'comment';
$handler-&gt;display-&gt;display_options['relationships']['flag_content_rel']['field'] = 'flag_content_rel';
$handler-&gt;display-&gt;display_options['relationships']['flag_content_rel']['flag'] = 'best_price';
$handler-&gt;display-&gt;display_options['relationships']['flag_content_rel']['user_scope'] = 'any';
/* Field: Comment: Title */
$handler-&gt;display-&gt;display_options['fields']['subject']['id'] = 'subject';
$handler-&gt;display-&gt;display_options['fields']['subject']['table'] = 'comment';
$handler-&gt;display-&gt;display_options['fields']['subject']['field'] = 'subject';
$handler-&gt;display-&gt;display_options['fields']['subject']['label'] = '';
$handler-&gt;display-&gt;display_options['fields']['subject']['alter']['word_boundary'] = FALSE;
$handler-&gt;display-&gt;display_options['fields']['subject']['alter']['ellipsis'] = FALSE;
/* Field: Comment: Comment */
$handler-&gt;display-&gt;display_options['fields']['comment_body']['id'] = 'comment_body';
$handler-&gt;display-&gt;display_options['fields']['comment_body']['table'] = 'field_data_comment_body';
$handler-&gt;display-&gt;display_options['fields']['comment_body']['field'] = 'comment_body';
$handler-&gt;display-&gt;display_options['fields']['comment_body']['label'] = '';
$handler-&gt;display-&gt;display_options['fields']['comment_body']['element_label_colon'] = FALSE;
/* Sort criterion: Comment: Post date */
$handler-&gt;display-&gt;display_options['sorts']['created']['id'] = 'created';
$handler-&gt;display-&gt;display_options['sorts']['created']['table'] = 'comment';
$handler-&gt;display-&gt;display_options['sorts']['created']['field'] = 'created';
$handler-&gt;display-&gt;display_options['sorts']['created']['order'] = 'DESC';
/* Sort criterion: Flags: Flagged */
$handler-&gt;display-&gt;display_options['sorts']['flagged']['id'] = 'flagged';
$handler-&gt;display-&gt;display_options['sorts']['flagged']['table'] = 'flagging';
$handler-&gt;display-&gt;display_options['sorts']['flagged']['field'] = 'flagged';
$handler-&gt;display-&gt;display_options['sorts']['flagged']['relationship'] = 'flag_content_rel';
$handler-&gt;display-&gt;display_options['sorts']['flagged']['order'] = 'DESC';
/* Contextual filter: Comment: Nid */
$handler-&gt;display-&gt;display_options['arguments']['nid']['id'] = 'nid';
$handler-&gt;display-&gt;display_options['arguments']['nid']['table'] = 'comment';
$handler-&gt;display-&gt;display_options['arguments']['nid']['field'] = 'nid';
$handler-&gt;display-&gt;display_options['arguments']['nid']['default_action'] = 'default';
$handler-&gt;display-&gt;display_options['arguments']['nid']['default_argument_type'] = 'node';
$handler-&gt;display-&gt;display_options['arguments']['nid']['summary']['number_of_records'] = '0';
$handler-&gt;display-&gt;display_options['arguments']['nid']['summary']['format'] = 'default_summary';
$handler-&gt;display-&gt;display_options['arguments']['nid']['summary_options']['items_per_page'] = '25';
/* Filter criterion: Comment: Approved */
$handler-&gt;display-&gt;display_options['filters']['status']['id'] = 'status';
$handler-&gt;display-&gt;display_options['filters']['status']['table'] = 'comment';
$handler-&gt;display-&gt;display_options['filters']['status']['field'] = 'status';
$handler-&gt;display-&gt;display_options['filters']['status']['value'] = 1;
$handler-&gt;display-&gt;display_options['filters']['status']['group'] = 1;
$handler-&gt;display-&gt;display_options['filters']['status']['expose']['operator'] = FALSE;

/* Display: Block */
$handler = $view-&gt;new_display('block', 'Block', 'block_1');