deecay / redmine_pivot_table

This Redmine plugin allows you to generate pivot table for issue analysis.
MIT License
52 stars 38 forks source link

Add support to Redmine 3.1.x #4

Closed abatista75 closed 9 years ago

abatista75 commented 9 years ago

Superb plugin and it would be very great if you can add the compatibility with Redmine 3.x and higher

deecay commented 9 years ago

I suspect it is. Did you encounter any error? One person said it worked for 3.0.3. https://www.redmine.org/plugins/redmine_pivot_table

abatista75 commented 9 years ago

I was able to install it, but the tab "Pivot" is empty (see attachment).

image1

Here is the log when I click on the tab 'Pivot":

Started GET "/projects/xxx/pivottables" for 78.192.162.110 at 2015-08-18 16:33:43 +0200
Processing by PivottablesController#index as HTML
  Parameters: {"project_id"=>"xxx"}
  Current user: xxx (id=8)
  Rendered plugins/redmine_pivot_table/app/views/pivottables/index.html.erb within layouts/base (1024.4ms)
  Rendered plugins/a_common_libs/app/views/hooks/a_common_libs/_html_head.html.erb (1.2ms)
  Rendered plugins/redmine_code_review/app/views/code_review/_html_header.html.erb (1.6ms)
  Rendered plugins/redmine_pretend/app/views/user/_unpretend.html.erb (0.1ms)
  Rendered plugins/clipboard_image_paste/app/views/clipboard_image_paste/_headers.html.erb (0.3ms)
  Rendered plugins/redmine_responsive/app/views/layouts_base/_flyout_menu.html.erb (0.7ms)
  Rendered plugins/redmine_responsive/app/views/layouts_base/_mobile_toggle_button.html.erb (0.1ms)
  Rendered plugins/redmine_responsive/app/views/layouts_base/_head.html.erb (1.3ms)
  Rendered plugins/sidebar_hide/app/views/sidebar/_hideButton_partial.html.erb (0.3ms)
  Rendered plugins/redmine_code_review/app/views/code_review/_body_bottom.html.erb (1.0ms)
  Rendered plugins/clipboard_image_paste/app/views/clipboard_image_paste/_add_form.html.erb (1.9ms)
Completed 200 OK in 1190ms (Views: 986.1ms | ActiveRecord: 71.8ms)
Started GET "/plugin_assets/redmine_pivot_table/javascripts/pivot.en.js" for 78.192.162.110 at 2015-08-18 16:33:44 +0200

ActionController::RoutingError (No route matches [GET] "/plugin_assets/redmine_pivot_table/javascripts/pivot.en.js"):
  actionpack (4.2.3) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
  actionpack (4.2.3) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
  railties (4.2.3) lib/rails/rack/logger.rb:38:in `call_app'
  railties (4.2.3) lib/rails/rack/logger.rb:20:in `block in call'
  activesupport (4.2.3) lib/active_support/tagged_logging.rb:68:in `block in tagged'
  activesupport (4.2.3) lib/active_support/tagged_logging.rb:26:in `tagged'
  activesupport (4.2.3) lib/active_support/tagged_logging.rb:68:in `tagged'
  railties (4.2.3) lib/rails/rack/logger.rb:20:in `call'
  actionpack (4.2.3) lib/action_dispatch/middleware/request_id.rb:21:in `call'
  rack (1.6.4) lib/rack/methodoverride.rb:22:in `call'
  rack (1.6.4) lib/rack/runtime.rb:18:in `call'
  activesupport (4.2.3) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call'
  actionpack (4.2.3) lib/action_dispatch/middleware/static.rb:116:in `call'
  rack (1.6.4) lib/rack/sendfile.rb:113:in `call'
  railties (4.2.3) lib/rails/engine.rb:518:in `call'
  railties (4.2.3) lib/rails/application.rb:165:in `call'
  railties (4.2.3) lib/rails/railtie.rb:194:in `public_send'
  railties (4.2.3) lib/rails/railtie.rb:194:in `method_missing'
  passenger (4.0.59) lib/phusion_passenger/rack/thread_handler_extension.rb:74:in `process_request'
  passenger (4.0.59) lib/phusion_passenger/request_handler/thread_handler.rb:141:in `accept_and_process_next_request'
  passenger (4.0.59) lib/phusion_passenger/request_handler/thread_handler.rb:109:in `main_loop'
  passenger (4.0.59) lib/phusion_passenger/request_handler.rb:455:in `block (3 levels) in start_threads'

Started GET "/redmine/images/close.png" for 78.192.162.110 at 2015-08-18 16:33:44 +0200

ActionController::RoutingError (No route matches [GET] "/redmine/images/close.png"):
  actionpack (4.2.3) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
  actionpack (4.2.3) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
  railties (4.2.3) lib/rails/rack/logger.rb:38:in `call_app'
  railties (4.2.3) lib/rails/rack/logger.rb:20:in `block in call'
  activesupport (4.2.3) lib/active_support/tagged_logging.rb:68:in `block in tagged'
  activesupport (4.2.3) lib/active_support/tagged_logging.rb:26:in `tagged'
  activesupport (4.2.3) lib/active_support/tagged_logging.rb:68:in `tagged'
  railties (4.2.3) lib/rails/rack/logger.rb:20:in `call'
  actionpack (4.2.3) lib/action_dispatch/middleware/request_id.rb:21:in `call'
  rack (1.6.4) lib/rack/methodoverride.rb:22:in `call'
  rack (1.6.4) lib/rack/runtime.rb:18:in `call'
  activesupport (4.2.3) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call'
  actionpack (4.2.3) lib/action_dispatch/middleware/static.rb:116:in `call'
  rack (1.6.4) lib/rack/sendfile.rb:113:in `call'
  railties (4.2.3) lib/rails/engine.rb:518:in `call'
  railties (4.2.3) lib/rails/application.rb:165:in `call'
  railties (4.2.3) lib/rails/railtie.rb:194:in `public_send'
  railties (4.2.3) lib/rails/railtie.rb:194:in `method_missing'
  passenger (4.0.59) lib/phusion_passenger/rack/thread_handler_extension.rb:74:in `process_request'
  passenger (4.0.59) lib/phusion_passenger/request_handler/thread_handler.rb:141:in `accept_and_process_next_request'
  passenger (4.0.59) lib/phusion_passenger/request_handler/thread_handler.rb:109:in `main_loop'
  passenger (4.0.59) lib/phusion_passenger/request_handler.rb:455:in `block (3 levels) in start_threads'

Started GET "/redmine/images/close.png" for 78.192.162.110 at 2015-08-18 16:33:45 +0200

ActionController::RoutingError (No route matches [GET] "/redmine/images/close.png"):
  actionpack (4.2.3) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
  actionpack (4.2.3) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
  railties (4.2.3) lib/rails/rack/logger.rb:38:in `call_app'
  railties (4.2.3) lib/rails/rack/logger.rb:20:in `block in call'
  activesupport (4.2.3) lib/active_support/tagged_logging.rb:68:in `block in tagged'
  activesupport (4.2.3) lib/active_support/tagged_logging.rb:26:in `tagged'
  activesupport (4.2.3) lib/active_support/tagged_logging.rb:68:in `tagged'
  railties (4.2.3) lib/rails/rack/logger.rb:20:in `call'
  actionpack (4.2.3) lib/action_dispatch/middleware/request_id.rb:21:in `call'
  rack (1.6.4) lib/rack/methodoverride.rb:22:in `call'
  rack (1.6.4) lib/rack/runtime.rb:18:in `call'
  activesupport (4.2.3) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call'
  actionpack (4.2.3) lib/action_dispatch/middleware/static.rb:116:in `call'
  rack (1.6.4) lib/rack/sendfile.rb:113:in `call'
  railties (4.2.3) lib/rails/engine.rb:518:in `call'
  railties (4.2.3) lib/rails/application.rb:165:in `call'
  railties (4.2.3) lib/rails/railtie.rb:194:in `public_send'
  railties (4.2.3) lib/rails/railtie.rb:194:in `method_missing'
  passenger (4.0.59) lib/phusion_passenger/rack/thread_handler_extension.rb:74:in `process_request'
  passenger (4.0.59) lib/phusion_passenger/request_handler/thread_handler.rb:141:in `accept_and_process_next_request'
  passenger (4.0.59) lib/phusion_passenger/request_handler/thread_handler.rb:109:in `main_loop'
  passenger (4.0.59) lib/phusion_passenger/request_handler.rb:455:in `block (3 levels) in start_threads'
deecay commented 9 years ago

I see. Your Redmine and browser version?

abatista75 commented 9 years ago

Here thery are:

I have also tried with Internet Explorer 11 (Edge), and the output is the same.

deecay commented 9 years ago

I have setup clean 3.1.0 stable with bitnami redmine, and the plugin worked fine. It seems to be some modification or the installed plugin is causing your problem.

abatista75 commented 9 years ago

I uninstalled all the plugins one by one, and the issue is still there :-(

However, I tried to enable the plugin on another project (same Redmine, same database, same plugins), and it works.

So the issue sems to be related to that particular project.

deecay commented 9 years ago

Alright. Let me close this then. Let me know if you find out any possible cause.

abatista75 commented 9 years ago

I continued the investigation and the tests...

I took one of my project on which the plugin seems to work. I used it without any problem. However, once I check "Issue closed", the bug comes back (no pivot table displayed).

When the "issue closed" is disabled, there are 34 issues (Pivot table displayed) When the "issue closed" is enabled, there are 106 issues. (No pivot table displayed)

When I go back to the first project, I have the following volume of data:

Do you think the number of tickets might be the root cause of the problem?

deecay commented 9 years ago

I have created 200+ dummy tickets in Redmine 3.1.1, with some closed and some open status, and found no issue.

My guess now is that there are some unhandled cases in your 106 - 34 = 72 issues. Maybe one of them has special characters in the Notes, etc. If you can re-open the 106 closed issues in some bulk size at a time, maybe you can track down whether it is a issue specific problem or not.

Press F12 when you encounter error, to see if there is a javascript error.

abatista75 commented 9 years ago

When I checked the "Issue closed" option, I got a Javascript error "Uncaught SyntaxError: Unexpected token " on the following line:

data = [ {
        "ID": '<ahref=\"/issues/40\">40<\/a>',
        "Project": '<ahref=\"/projects/xxx\">xxx<\/a>',
        "Tracker": 'Bug',
...
            } ];
...

Chrome displays an error on the simple quotes (shouldn't it be double-quotes?).

abatista75 commented 9 years ago

I figured out the issue.

First, double quotes should be used instead of single quotes, but the root issue is not there. However, some fields are empties

data = [ {
        "parameter": ,
...
            } ];
abatista75 commented 9 years ago

The commit #5 fixed that issue.