danmunn / redmine_dmsf Goto Github PK
View Code? Open in Web Editor NEWFork of svn repository for redmine_dmsf
License: GNU General Public License v2.0
Fork of svn repository for redmine_dmsf
License: GNU General Public License v2.0
When I try to search inside files, it doesn return any result. I tried to debudg it, and the request
dmsf_file = DmsfFile.where(limit_options[:conditions]).where(:id => dmsf_attrs[1], :deleted => false).first
returns empty result, although the xapian search found the record in the database (see screenshot http://saky.org/images/dmsf_search.JPG).
Any ideas what can be wrong?
Thanks,
Libor
I have DMSF 1.4.4 plugin on my Redmine 2.0.3 server. I'm not able to properly operate with Webdav.
I first had to modify Windows 7 registry to allow basic authentication for Webdav under Windows Explorer :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WebClient\Parameters : change key BasicAuthLevel to 2
Otherwise, I could not access it. The authentication window was popping up over and over after entering a correct username and password. How authentication works?
So now I can access with Webdav but cannot write. For example, if a drag and drop a file in, this error appear : "Cannot read from the source file or disk". I tried with a administrator and also with a member role with all permissions for DMSF.
Thanks for your help!
Whwn I try to migra the database with rake redmine:plugins:migrate RAILS_ENV="production"
Redmine returns a error:
git://github.com/chrisroberts/dav4rack.git (at master) is not checked out. Please run `bundle install
I run bundle install an Redmine bundle returns another error:
Fetching git://github.com/chrisroberts/dav4rack.git
sh: 1: git: not found
Git error: command git clone 'git://github.com/chrisroberts/dav4rack.git' "/hom e/zer0/.bundler/cache/git/dav4rack-ca582a306e167025ded43630e7e3361ec99432da" --b are --no-hardlinks
in directory /var/redmine has failed.
Could you helpme please?
Thanks in advance for your support and your work.
A minor feature that would be excellent is if when the file is downloaded, either when clicked on or when packaged in a zip file, the major and minor version numbers would be included in the file name. Ideally they would appear tagged onto the end of the file. For example, a file Test.doc with version 1.4 would become Test_1-4.doc or something similar.
Hi,
I've just pulled 1.4.4p2.
When I'm writing files to dmsf they got a wrong timestamp, either using web UI or WebDAV.
There are definitly 2 hours missing. I've checked the time on the server and it's correct.
A newly created ticket got the right time.
I'm at germany.
Maybe it's a problem with the timezone.
Any help would be apreciated.
Sebastian
CentOS 6.2, Ruby 1.9.3p194, Nginx 1.2.1, Passenger 3.0.13, Redmine 2.0.3
After installing danmunn-redmine_dmsf-e46d07e.zip with redmine 2.0.3, the main pages for dmsf are not displayed anymore. What went wrong?
The direct links by using e.g. {{{dmsf(44)}}} are still accessible.
Here the production.log:
Started GET "/projects/pilot/dmsf" for 10.10.21.195 at 2012-09-07 08:34:32 +0200
AbstractController::ActionNotFound (The action 'pilot' could not be found for ProjectsController):
actionpack (3.2.6) lib/abstract_controller/base.rb:116:in process' actionpack (3.2.6) lib/abstract_controller/rendering.rb:45:in
process'
actionpack (3.2.6) lib/action_controller/metal.rb:203:in dispatch' actionpack (3.2.6) lib/action_controller/metal/rack_delegation.rb:14:in
dispatch'
actionpack (3.2.6) lib/action_controller/metal.rb:246:in block in action' actionpack (3.2.6) lib/action_dispatch/routing/route_set.rb:73:in
call'
actionpack (3.2.6) lib/action_dispatch/routing/route_set.rb:73:in dispatch' actionpack (3.2.6) lib/action_dispatch/routing/route_set.rb:36:in
call'
...
Hi!,
The upload pictures (jpg, png) always force download
I think that these filetypes may be displayed in the browser without download it, maybe wich send the correct mimetype will work?
Enhancement for rake to Document to dmsf conversion
https://github.com/danmunn/redmine_dmsf/wiki/Migrating-from-Documents-to-DMSF
Is it a known issue that when editing/copying files through webdav, it results in internal server error when trying to view the version history of that file? I am suspecting it is due to no revision info being entered when writing with webdav?
Hi,
i installed a fresh install of redmine 2.0.3 but i had to bundle without xapian and postgresql, sqlite.
DMFS works fine and installed then.
Problem is:
Started GET "/redmine/dmsf/files/3" for 192.168.0.33 at Tue Jul 17 14:49:30 +0200 2012
Processing by DmsfFilesController#show as HTML
Parameters: {"id"=>"3"}
Rendered plugins/redmine_dmsf/app/views/dmsf/_path.html.erb (0.6ms)
Rendered plugins/redmine_dmsf/app/views/dmsf_files/_file_new_revision.html.erb (34.6ms)
Rendered plugins/redmine_dmsf/app/views/dmsf/_custom_fields.html.erb (2.1ms)
Rendered plugins/redmine_dmsf/app/views/dmsf_files/_revision_access.html.erb (132.4ms)
Rendered plugins/redmine_dmsf/app/views/dmsf_files/show.html.erb within layouts/base (191.1ms)
Completed 500 Internal Server Error in 227ms
ActionView::Template::Error (wrong number of arguments (1 for 0)):
13:
14: <%=link_to_user(access.user)%>
15: <%=access["count"]%>
16: <%=access.min.to_s(:db)%>
17: <%=access.max.to_s(:db)%>
18:
19: <% end %>
plugins/redmine_dmsf/app/views/dmsf_files/_revision_access.html.erb:16:in to_s' plugins/redmine_dmsf/app/views/dmsf_files/_revision_access.html.erb:16:in
_plugins_redmine_dmsf_app_views_dmsf_files__revision_access_html_erb___1129680921_70265489464640'
activerecord (3.2.6) lib/active_record/relation/delegation.rb:6:in each' activerecord (3.2.6) lib/active_record/relation/delegation.rb:6:in
send'
activerecord (3.2.6) lib/active_record/relation/delegation.rb:6:in each' plugins/redmine_dmsf/app/views/dmsf_files/_revision_access.html.erb:12:in
_plugins_redmine_dmsf_app_views_dmsf_files__revision_access_html_erb___1129680921_70265489464640'
actionpack (3.2.6) lib/action_view/template.rb:145:in send' actionpack (3.2.6) lib/action_view/template.rb:145:in
render'
activesupport (3.2.6) lib/active_support/notifications.rb:125:in instrument' actionpack (3.2.6) lib/action_view/template.rb:143:in
render'
actionpack (3.2.6) lib/action_view/renderer/partial_renderer.rb:265:in render_partial' actionpack (3.2.6) lib/action_view/renderer/partial_renderer.rb:238:in
render'
actionpack (3.2.6) lib/action_view/renderer/abstract_renderer.rb:38:in instrument' activesupport (3.2.6) lib/active_support/notifications.rb:123:in
instrument'
activesupport (3.2.6) lib/active_support/notifications/instrumenter.rb:20:in instrument' activesupport (3.2.6) lib/active_support/notifications.rb:123:in
instrument'
actionpack (3.2.6) lib/action_view/renderer/abstract_renderer.rb:38:in instrument' actionpack (3.2.6) lib/action_view/renderer/partial_renderer.rb:237:in
render'
actionpack (3.2.6) lib/action_view/renderer/renderer.rb:41:in render_partial' actionpack (3.2.6) lib/action_view/renderer/renderer.rb:15:in
render'
actionpack (3.2.6) lib/action_view/helpers/rendering_helper.rb:24:in render_without_update' prototype-rails (3.2.1) lib/prototype-rails/rendering.rb:8:in
render'
plugins/redmine_dmsf/app/views/dmsf_files/show.html.erb:129:in _plugins_redmine_dmsf_app_views_dmsf_files_show_html_erb__1700552360_70265490680800' plugins/redmine_dmsf/app/views/dmsf_files/show.html.erb:59:in
each'
plugins/redmine_dmsf/app/views/dmsf_files/show.html.erb:59:in _plugins_redmine_dmsf_app_views_dmsf_files_show_html_erb__1700552360_70265490680800' actionpack (3.2.6) lib/action_view/template.rb:145:in
send'
actionpack (3.2.6) lib/action_view/template.rb:145:in render' activesupport (3.2.6) lib/active_support/notifications.rb:125:in
instrument'
actionpack (3.2.6) lib/action_view/template.rb:143:in render' actionpack (3.2.6) lib/action_view/renderer/template_renderer.rb:47:in
render_template'
actionpack (3.2.6) lib/action_view/renderer/abstract_renderer.rb:38:in instrument' activesupport (3.2.6) lib/active_support/notifications.rb:123:in
instrument'
activesupport (3.2.6) lib/active_support/notifications/instrumenter.rb:20:in instrument' activesupport (3.2.6) lib/active_support/notifications.rb:123:in
instrument'
actionpack (3.2.6) lib/action_view/renderer/abstract_renderer.rb:38:in instrument' actionpack (3.2.6) lib/action_view/renderer/template_renderer.rb:46:in
render_template'
actionpack (3.2.6) lib/action_view/renderer/template_renderer.rb:54:in render_with_layout' actionpack (3.2.6) lib/action_view/renderer/template_renderer.rb:45:in
render_template'
actionpack (3.2.6) lib/action_view/renderer/template_renderer.rb:18:in render' actionpack (3.2.6) lib/action_view/renderer/renderer.rb:36:in
render_template'
actionpack (3.2.6) lib/action_view/renderer/renderer.rb:17:in render' actionpack (3.2.6) lib/abstract_controller/rendering.rb:110:in
_render_template'
actionpack (3.2.6) lib/action_controller/metal/streaming.rb:225:in _render_template' actionpack (3.2.6) lib/abstract_controller/rendering.rb:103:in
render_to_body'
actionpack (3.2.6) lib/action_controller/metal/renderers.rb:28:in render_to_body' actionpack (3.2.6) lib/action_controller/metal/compatibility.rb:50:in
render_to_body'
actionpack (3.2.6) lib/abstract_controller/rendering.rb:88:in render' actionpack (3.2.6) lib/action_controller/metal/rendering.rb:16:in
render'
actionpack (3.2.6) lib/action_controller/metal/instrumentation.rb:40:in render' activesupport (3.2.6) lib/active_support/core_ext/benchmark.rb:5:in
ms'
/opt/redmine/ruby/lib/ruby/1.8/benchmark.rb:308:in realtime' activesupport (3.2.6) lib/active_support/core_ext/benchmark.rb:5:in
ms'
actionpack (3.2.6) lib/action_controller/metal/instrumentation.rb:40:in render' actionpack (3.2.6) lib/action_controller/metal/instrumentation.rb:83:in
cleanup_view_runtime'
activerecord (3.2.6) lib/active_record/railties/controller_runtime.rb:24:in cleanup_view_runtime' actionpack (3.2.6) lib/action_controller/metal/instrumentation.rb:39:in
render'
plugins/redmine_dmsf/app/controllers/dmsf_files_controller.rb:61:in show' actionpack (3.2.6) lib/action_controller/metal/implicit_render.rb:4:in
send_action'
actionpack (3.2.6) lib/action_controller/metal/implicit_render.rb:4:in send_action' actionpack (3.2.6) lib/abstract_controller/base.rb:167:in
process_action'
actionpack (3.2.6) lib/action_controller/metal/rendering.rb:10:in process_action' actionpack (3.2.6) lib/abstract_controller/callbacks.rb:18:in
process_action'
activesupport (3.2.6) lib/active_support/callbacks.rb:469:in _run__558712993__process_action__1738412532__callbacks' activesupport (3.2.6) lib/active_support/callbacks.rb:405:in
send'
activesupport (3.2.6) lib/active_support/callbacks.rb:405:in __run_callback' activesupport (3.2.6) lib/active_support/callbacks.rb:385:in
_run_process_action_callbacks'
activesupport (3.2.6) lib/active_support/callbacks.rb:81:in send' activesupport (3.2.6) lib/active_support/callbacks.rb:81:in
run_callbacks'
actionpack (3.2.6) lib/abstract_controller/callbacks.rb:17:in process_action' actionpack (3.2.6) lib/action_controller/metal/rescue.rb:29:in
process_action'
actionpack (3.2.6) lib/action_controller/metal/instrumentation.rb:30:in process_action' activesupport (3.2.6) lib/active_support/notifications.rb:123:in
instrument'
activesupport (3.2.6) lib/active_support/notifications/instrumenter.rb:20:in instrument' activesupport (3.2.6) lib/active_support/notifications.rb:123:in
instrument'
actionpack (3.2.6) lib/action_controller/metal/instrumentation.rb:29:in process_action' actionpack (3.2.6) lib/action_controller/metal/params_wrapper.rb:206:in
process_action'
activerecord (3.2.6) lib/active_record/railties/controller_runtime.rb:18:in process_action' actionpack (3.2.6) lib/abstract_controller/base.rb:121:in
process'
actionpack (3.2.6) lib/abstract_controller/rendering.rb:45:in process' actionpack (3.2.6) lib/action_controller/metal.rb:203:in
dispatch'
actionpack (3.2.6) lib/action_controller/metal/rack_delegation.rb:14:in dispatch' actionpack (3.2.6) lib/action_controller/metal.rb:246:in
action'
actionpack (3.2.6) lib/action_dispatch/routing/route_set.rb:73:in call' actionpack (3.2.6) lib/action_dispatch/routing/route_set.rb:73:in
dispatch'
actionpack (3.2.6) lib/action_dispatch/routing/route_set.rb:36:in call' journey (1.0.3) lib/journey/router.rb:68:in
call'
journey (1.0.3) lib/journey/router.rb:56:in each' journey (1.0.3) lib/journey/router.rb:56:in
call'
actionpack (3.2.6) lib/action_dispatch/routing/route_set.rb:600:in call' rack-openid (1.3.1) lib/rack/openid.rb:98:in
call'
actionpack (3.2.6) lib/action_dispatch/middleware/best_standards_support.rb:17:in call' rack (1.4.1) lib/rack/etag.rb:23:in
call'
rack (1.4.1) lib/rack/conditionalget.rb:25:in call' actionpack (3.2.6) lib/action_dispatch/middleware/head.rb:14:in
call'
actionpack (3.2.6) lib/action_dispatch/middleware/params_parser.rb:21:in call' plugins/redmine_dmsf/lib/redmine_dmsf/webdav/no_parse.rb:33:in
call'
actionpack (3.2.6) lib/action_dispatch/middleware/flash.rb:242:in call' rack (1.4.1) lib/rack/session/abstract/id.rb:205:in
context'
rack (1.4.1) lib/rack/session/abstract/id.rb:200:in call' actionpack (3.2.6) lib/action_dispatch/middleware/cookies.rb:338:in
call'
activerecord (3.2.6) lib/active_record/query_cache.rb:64:in call' activerecord (3.2.6) lib/active_record/connection_adapters/abstract/connection_pool.rb:473:in
call'
actionpack (3.2.6) lib/action_dispatch/middleware/callbacks.rb:28:in call' activesupport (3.2.6) lib/active_support/callbacks.rb:405:in
_run__4384754__call__4__callbacks'
activesupport (3.2.6) lib/active_support/callbacks.rb:405:in send' activesupport (3.2.6) lib/active_support/callbacks.rb:405:in
__run_callback'
activesupport (3.2.6) lib/active_support/callbacks.rb:385:in _run_call_callbacks' activesupport (3.2.6) lib/active_support/callbacks.rb:81:in
send'
activesupport (3.2.6) lib/active_support/callbacks.rb:81:in run_callbacks' actionpack (3.2.6) lib/action_dispatch/middleware/callbacks.rb:27:in
call'
actionpack (3.2.6) lib/action_dispatch/middleware/remote_ip.rb:31:in call' actionpack (3.2.6) lib/action_dispatch/middleware/debug_exceptions.rb:16:in
call'
actionpack (3.2.6) lib/action_dispatch/middleware/show_exceptions.rb:56:in call' railties (3.2.6) lib/rails/rack/logger.rb:26:in
call_app'
railties (3.2.6) lib/rails/rack/logger.rb:16:in call' actionpack (3.2.6) lib/action_dispatch/middleware/request_id.rb:22:in
call'
rack (1.4.1) lib/rack/methodoverride.rb:21:in call' rack (1.4.1) lib/rack/runtime.rb:17:in
call'
activesupport (3.2.6) lib/active_support/cache/strategy/local_cache.rb:72:in call' rack (1.4.1) lib/rack/lock.rb:15:in
call'
actionpack (3.2.6) lib/action_dispatch/middleware/static.rb:62:in call' rack-cache (1.2) lib/rack/cache/context.rb:136:in
forward'
rack-cache (1.2) lib/rack/cache/context.rb:245:in fetch' rack-cache (1.2) lib/rack/cache/context.rb:185:in
lookup'
rack-cache (1.2) lib/rack/cache/context.rb:66:in call!' rack-cache (1.2) lib/rack/cache/context.rb:51:in
call'
railties (3.2.6) lib/rails/engine.rb:479:in call' railties (3.2.6) lib/rails/application.rb:220:in
call'
railties (3.2.6) lib/rails/railtie/configurable.rb:30:in send' railties (3.2.6) lib/rails/railtie/configurable.rb:30:in
method_missing'
passenger (3.0.12) lib/phusion_passenger/rack/request_handler.rb:96:in process_request' passenger (3.0.12) lib/phusion_passenger/abstract_request_handler.rb:513:in
accept_and_process_next_request'
passenger (3.0.12) lib/phusion_passenger/abstract_request_handler.rb:274:in main_loop' passenger (3.0.12) lib/phusion_passenger/classic_rails/application_spawner.rb:321:in
start_request_handler'
passenger (3.0.12) lib/phusion_passenger/classic_rails/application_spawner.rb:275:in send' passenger (3.0.12) lib/phusion_passenger/classic_rails/application_spawner.rb:275:in
handle_spawn_application'
passenger (3.0.12) lib/phusion_passenger/utils.rb:479:in safe_fork' passenger (3.0.12) lib/phusion_passenger/classic_rails/application_spawner.rb:270:in
handle_spawn_application'
passenger (3.0.12) lib/phusion_passenger/abstract_server.rb:357:in __send__' passenger (3.0.12) lib/phusion_passenger/abstract_server.rb:357:in
server_main_loop'
passenger (3.0.12) lib/phusion_passenger/abstract_server.rb:206:instart_synchronously' passenger (3.0.12) lib/phusion_passenger/abstract_server.rb:180:in
start'
passenger (3.0.12) lib/phusion_passenger/classic_rails/application_spawner.rb:149:instart' passenger (3.0.12) lib/phusion_passenger/spawn_manager.rb:219:in
spawn_rails_application'
passenger (3.0.12) lib/phusion_passenger/abstract_server_collection.rb:132:inlookup_or_add' passenger (3.0.12) lib/phusion_passenger/spawn_manager.rb:214:in
spawn_rails_application'
passenger (3.0.12) lib/phusion_passenger/abstract_server_collection.rb:82:insynchronize' passenger (3.0.12) lib/phusion_passenger/abstract_server_collection.rb:79:in
synchronize'
passenger (3.0.12) lib/phusion_passenger/spawn_manager.rb:213:inspawn_rails_application' passenger (3.0.12) lib/phusion_passenger/spawn_manager.rb:132:in
spawn_application'
passenger (3.0.12) lib/phusion_passenger/spawn_manager.rb:275:inhandle_spawn_application' passenger (3.0.12) lib/phusion_passenger/abstract_server.rb:357:in
send'
passenger (3.0.12) lib/phusion_passenger/abstract_server.rb:357:inserver_main_loop' passenger (3.0.12) lib/phusion_passenger/abstract_server.rb:206:in
start_synchronously'
passenger (3.0.12) helper-scripts/passenger-spawn-server:99
The second problem ist webdav:
Started GET "/redmine/projects/test/dmsf/webdav" for 192.168.0.33 at Tue Jul 17 14:50:18 +0200 2012
ActionController::RoutingError (No route matches [GET] "/projects/test/dmsf/webdav"):
actionpack (3.2.6) lib/action_dispatch/middleware/debug_exceptions.rb:21:in call' actionpack (3.2.6) lib/action_dispatch/middleware/show_exceptions.rb:56:in
call'
railties (3.2.6) lib/rails/rack/logger.rb:26:in call_app' railties (3.2.6) lib/rails/rack/logger.rb:16:in
call'
actionpack (3.2.6) lib/action_dispatch/middleware/request_id.rb:22:in call' rack (1.4.1) lib/rack/methodoverride.rb:21:in
call'
rack (1.4.1) lib/rack/runtime.rb:17:in call' activesupport (3.2.6) lib/active_support/cache/strategy/local_cache.rb:72:in
call'
rack (1.4.1) lib/rack/lock.rb:15:in call' actionpack (3.2.6) lib/action_dispatch/middleware/static.rb:62:in
call'
rack-cache (1.2) lib/rack/cache/context.rb:136:in forward' rack-cache (1.2) lib/rack/cache/context.rb:245:in
fetch'
rack-cache (1.2) lib/rack/cache/context.rb:185:in lookup' rack-cache (1.2) lib/rack/cache/context.rb:66:in
call!'
rack-cache (1.2) lib/rack/cache/context.rb:51:in call' railties (3.2.6) lib/rails/engine.rb:479:in
call'
railties (3.2.6) lib/rails/application.rb:220:in call' railties (3.2.6) lib/rails/railtie/configurable.rb:30:in
send'
railties (3.2.6) lib/rails/railtie/configurable.rb:30:in method_missing' passenger (3.0.12) lib/phusion_passenger/rack/request_handler.rb:96:in
process_request'
passenger (3.0.12) lib/phusion_passenger/abstract_request_handler.rb:513:in accept_and_process_next_request' passenger (3.0.12) lib/phusion_passenger/abstract_request_handler.rb:274:in
main_loop'
passenger (3.0.12) lib/phusion_passenger/classic_rails/application_spawner.rb:321:in start_request_handler' passenger (3.0.12) lib/phusion_passenger/classic_rails/application_spawner.rb:275:in
send'
passenger (3.0.12) lib/phusion_passenger/classic_rails/application_spawner.rb:275:in handle_spawn_application' passenger (3.0.12) lib/phusion_passenger/utils.rb:479:in
safe_fork'
passenger (3.0.12) lib/phusion_passenger/classic_rails/application_spawner.rb:270:in handle_spawn_application' passenger (3.0.12) lib/phusion_passenger/abstract_server.rb:357:in
send'
passenger (3.0.12) lib/phusion_passenger/abstract_server.rb:357:in server_main_loop' passenger (3.0.12) lib/phusion_passenger/abstract_server.rb:206:in
start_synchronously'
passenger (3.0.12) lib/phusion_passenger/abstract_server.rb:180:in start' passenger (3.0.12) lib/phusion_passenger/classic_rails/application_spawner.rb:149:in
start'
passenger (3.0.12) lib/phusion_passenger/spawn_manager.rb:219:in spawn_rails_application' passenger (3.0.12) lib/phusion_passenger/abstract_server_collection.rb:132:in
lookup_or_add'
passenger (3.0.12) lib/phusion_passenger/spawn_manager.rb:214:in spawn_rails_application' passenger (3.0.12) lib/phusion_passenger/abstract_server_collection.rb:82:in
synchronize'
passenger (3.0.12) lib/phusion_passenger/abstract_server_collection.rb:79:in synchronize' passenger (3.0.12) lib/phusion_passenger/spawn_manager.rb:213:in
spawn_rails_application'
passenger (3.0.12) lib/phusion_passenger/spawn_manager.rb:132:in spawn_application' passenger (3.0.12) lib/phusion_passenger/spawn_manager.rb:275:in
handle_spawn_application'
passenger (3.0.12) lib/phusion_passenger/abstract_server.rb:357:in __send__' passenger (3.0.12) lib/phusion_passenger/abstract_server.rb:357:in
server_main_loop'
passenger (3.0.12) lib/phusion_passenger/abstract_server.rb:206:in `start_synchronously'
passenger (3.0.12) helper-scripts/passenger-spawn-server:99
i get a 404.
keep up the brilliant work!
Hi I have recently gotten dmsf 1.4.4 up and running on redmine 2.0.3. I see under plugin configuration that I can access webdav functionality once enabled at http://.../dmsf/webdav/
When attempting to access it it does ask for authentication for locked content. I've entered redmine admin credentials and ones for created users that have full access to dmsf under roles and permissions. either way once I login, I am taken to a blank page(or in the case of ie and chrome: link appears to be broken)
Just wondering if I am missing something here, any help would be appreciated. Thanks!
On Redmine 2.0 search fails with a complain about merge_conditions
What helped was to implement it in app/models/dmsf_file.rb
:
def self.merge_conditions(*conditions)
segments = []
conditions.each do |condition|
unless condition.blank?
sql = sanitize_sql(condition)
segments << sql unless sql.blank?
end
end
"(#{segments.join(') AND (')})" unless segments.empty?
end
But I don't know if this is a "good" solution...
Can please you publish some screeners and a feature list?
Thanks bin advance
We upgraded the DMSF plugin from v1.3 to v1.4.5. After the upgrade, a few DMSF documents were missing (download failed with "Redmine 500 error"). This is the top of the backtrace in our production.log:
ActionController::MissingFile (Cannot read file /var/redmine-dmsf/p_newproject/130209148904_159_my_document.docx):
actionpack (3.2.6) lib/action_controller/metal/data_streaming.rb:71:in `send_file'
actionpack (3.2.6) lib/action_controller/metal/instrumentation.rb:48:in `send_file'
activesupport (3.2.6) lib/active_support/notifications.rb:123:in `instrument'
activesupport (3.2.6) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
activesupport (3.2.6) lib/active_support/notifications.rb:123:in `instrument'
actionpack (3.2.6) lib/action_controller/metal/instrumentation.rb:46:in `send_file'
plugins/redmine_dmsf/app/controllers/dmsf_files_controller.rb:220:in `send_revision'
plugins/redmine_dmsf/app/controllers/dmsf_files_controller.rb:51:in `show'
actionpack (3.2.6) lib/action_controller/metal/implicit_render.rb:4:in `send_action'
The missing documents had been copied from project "oldproject" to "newproject" before the upgrade. "oldproject" was archived after the documents were copied.
The document has not been updated after it had been copied.
The missing file was moved to "p_oldproject" during the upgrade.
It looks like DMSF does not create a new file on the hard drive when a document is copied in the DMSF web interface, and the migration script fails to create copies in all target folders during the upgrade.
Another great feature that our group would really enjoy is when an issue is created/updated, it would be excellent to be able to reference a specific document in DMSF. Is this even possible?
Hello,
I have upgraded redmine to 2.0.3 and dmsf to this branch (1.4.4). However I can't seem to upload documents. I get the error shown below.
In addition, the migrated uploads are not displayed, even though they seemed to be correctly referenced in the migrated database and stored on disk.
Can you help?
Thanks!
The error:
NoMethodError (undefined method `id' for nil:NilClass):
plugins/redmine_dmsf/app/controllers/dmsf_upload_controller.rb:187:in `log_activity'
plugins/redmine_dmsf/app/controllers/dmsf_upload_controller.rb:170:in `block in commit_files'
plugins/redmine_dmsf/app/controllers/dmsf_upload_controller.rb:170:in `each'
plugins/redmine_dmsf/app/controllers/dmsf_upload_controller.rb:170:in `commit_files'
actionpack (3.2.6) lib/action_controller/metal/implicit_render.rb:4:in `send_action'
actionpack (3.2.6) lib/abstract_controller/base.rb:167:in `process_action'
actionpack (3.2.6) lib/action_controller/metal/rendering.rb:10:in `process_action'
actionpack (3.2.6) lib/abstract_controller/callbacks.rb:18:in `block in process_action'
activesupport (3.2.6) lib/active_support/callbacks.rb:480:in `_run__34386977550386613__process_action__4575986109012499539__callbacks'
activesupport (3.2.6) lib/active_support/callbacks.rb:405:in `__run_callback'
activesupport (3.2.6) lib/active_support/callbacks.rb:385:in `_run_process_action_callbacks'
activesupport (3.2.6) lib/active_support/callbacks.rb:81:in `run_callbacks'
actionpack (3.2.6) lib/abstract_controller/callbacks.rb:17:in `process_action'
actionpack (3.2.6) lib/action_controller/metal/rescue.rb:29:in `process_action'
actionpack (3.2.6) lib/action_controller/metal/instrumentation.rb:30:in `block in process_action'
activesupport (3.2.6) lib/active_support/notifications.rb:123:in `block in instrument'
activesupport (3.2.6) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
activesupport (3.2.6) lib/active_support/notifications.rb:123:in `instrument'
actionpack (3.2.6) lib/action_controller/metal/instrumentation.rb:29:in `process_action'
actionpack (3.2.6) lib/action_controller/metal/params_wrapper.rb:206:in `process_action'
activerecord (3.2.6) lib/active_record/railties/controller_runtime.rb:18:in `process_action'
actionpack (3.2.6) lib/abstract_controller/base.rb:121:in `process'
actionpack (3.2.6) lib/abstract_controller/rendering.rb:45:in `process'
actionpack (3.2.6) lib/action_controller/metal.rb:203:in `dispatch'
actionpack (3.2.6) lib/action_controller/metal/rack_delegation.rb:14:in `dispatch'
actionpack (3.2.6) lib/action_controller/metal.rb:246:in `block in action'
actionpack (3.2.6) lib/action_dispatch/routing/route_set.rb:73:in `call'
actionpack (3.2.6) lib/action_dispatch/routing/route_set.rb:73:in `dispatch'
actionpack (3.2.6) lib/action_dispatch/routing/route_set.rb:36:in `call'
journey (1.0.4) lib/journey/router.rb:68:in `block in call'
journey (1.0.4) lib/journey/router.rb:56:in `each'
journey (1.0.4) lib/journey/router.rb:56:in `call'
actionpack (3.2.6) lib/action_dispatch/routing/route_set.rb:600:in `call'
rack-openid (1.3.1) lib/rack/openid.rb:98:in `call'
actionpack (3.2.6) lib/action_dispatch/middleware/best_standards_support.rb:17:in `call'
rack (1.4.1) lib/rack/etag.rb:23:in `call'
rack (1.4.1) lib/rack/conditionalget.rb:35:in `call'
actionpack (3.2.6) lib/action_dispatch/middleware/head.rb:14:in `call'
actionpack (3.2.6) lib/action_dispatch/middleware/params_parser.rb:21:in `call'
plugins/redmine_dmsf/lib/redmine_dmsf/webdav/no_parse.rb:33:in `call'
actionpack (3.2.6) lib/action_dispatch/middleware/flash.rb:242:in `call'
rack (1.4.1) lib/rack/session/abstract/id.rb:205:in `context'
rack (1.4.1) lib/rack/session/abstract/id.rb:200:in `call'
actionpack (3.2.6) lib/action_dispatch/middleware/cookies.rb:338:in `call'
activerecord (3.2.6) lib/active_record/query_cache.rb:64:in `call'
activerecord (3.2.6) lib/active_record/connection_adapters/abstract/connection_pool.rb:473:in `call'
actionpack (3.2.6) lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
activesupport (3.2.6) lib/active_support/callbacks.rb:405:in `_run__4021944421656164979__call__3985744558239652159__callbacks'
activesupport (3.2.6) lib/active_support/callbacks.rb:405:in `__run_callback'
activesupport (3.2.6) lib/active_support/callbacks.rb:385:in `_run_call_callbacks'
activesupport (3.2.6) lib/active_support/callbacks.rb:81:in `run_callbacks'
actionpack (3.2.6) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
actionpack (3.2.6) lib/action_dispatch/middleware/remote_ip.rb:31:in `call'
actionpack (3.2.6) lib/action_dispatch/middleware/debug_exceptions.rb:16:in `call'
actionpack (3.2.6) lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
railties (3.2.6) lib/rails/rack/logger.rb:26:in `call_app'
railties (3.2.6) lib/rails/rack/logger.rb:16:in `call'
actionpack (3.2.6) lib/action_dispatch/middleware/request_id.rb:22:in `call'
rack (1.4.1) lib/rack/methodoverride.rb:21:in `call'
rack (1.4.1) lib/rack/runtime.rb:17:in `call'
activesupport (3.2.6) lib/active_support/cache/strategy/local_cache.rb:72:in `call'
rack (1.4.1) lib/rack/lock.rb:15:in `call'
actionpack (3.2.6) lib/action_dispatch/middleware/static.rb:62:in `call'
rack-cache (1.2) lib/rack/cache/context.rb:136:in `forward'
rack-cache (1.2) lib/rack/cache/context.rb:143:in `pass'
rack-cache (1.2) lib/rack/cache/context.rb:155:in `invalidate'
rack-cache (1.2) lib/rack/cache/context.rb:71:in `call!'
rack-cache (1.2) lib/rack/cache/context.rb:51:in `call'
railties (3.2.6) lib/rails/engine.rb:479:in `call'
railties (3.2.6) lib/rails/application.rb:220:in `call'
rack (1.4.1) lib/rack/content_length.rb:14:in `call'
railties (3.2.6) lib/rails/rack/log_tailer.rb:17:in `call'
rack (1.4.1) lib/rack/handler/webrick.rb:59:in `service'
/usr/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service'
/usr/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run'
/usr/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread'
Users tend to hit the save button more than one time when editing a document. It would be nice if only the minor version number is incremented on each save.
Hi all, this plugin seems totally awsome... but to use all its capabilities some kind of documentation (Web, PDF) would be handy...
Did I just not find whatever documentation there is, or is there not much?
If so, what would be the contact / place to contribute documentation, should I find time to write some?
I'm a ruby/rails/redmine newbie, please correct me if I followed any procedure wrong. :)
# cd /opt/redmine-2.0.3/plugins
# git clone https://github.com/danmunn/redmine_dmsf.git
# cd redmine_dmsf
# bundle --without=xapian mysql rmagick sqlite
# rake db:migrate_plugins RAILS_ENV=production
Fails with:
Could not find gem 'xapian-full (>= 0) ruby' in the gems available on this machine.
Run `bundle install` to install missing gems.
Apparently rake wants to install xapian-full which, I think, I said I did not want earlier (did I do something wrong?).
Proceeded to deleted the group :xapian
from Gemfile
and rerunning.
This now failed later in the process:
== Dmsf144: migrating ========================================================
-- add_column(:dmsf_file_locks, :entity_type, :integer, {:null=>true})
-> 0.0015s
-- add_column(:dmsf_file_locks, :lock_type_cd, :integer, {:null=>true})
-> 0.0009s
-- add_column(:dmsf_file_locks, :lock_scope_cd, :integer, {:null=>true})
-> 0.0008s
-- add_column(:dmsf_file_locks, :uuid, :string, {:null=>true, :limit=>36})
-> 0.0009s
-- add_column(:dmsf_file_locks, :expires_at, :datetime, {:null=>true})
-> 0.0044s
rake aborted!
An error has occurred, this and all later migrations canceled:
PG::Error: ERROR: column "dmsf_file_locks.id" must appear in the GROUP BY clause or be us
ed in an aggregate function
LINE 1: SELECT "dmsf_file_locks".* FROM "dmsf_file_locks" WHERE ("...
^
: SELECT "dmsf_file_locks".* FROM "dmsf_file_locks" WHERE ("dmsf_file_locks"."id" >= 0)
GROUP BY dmsf_file_id ORDER BY "dmsf_file_locks"."id" ASC LIMIT 1000
Tasks: TOP => db:migrate_plugins => redmine:plugins:migrate
(See full trace by running task with --trace)
PostgreSQL log:
SELECT "dmsf_file_locks".* FROM "dmsf_file_locks" WHERE ("dmsf_file_locks"."id" >= 0) GROUP BY dmsf_file_id ORDER BY "dmsf_file_locks"."id" ASC LIMIT 1000
The GROUP BY
statement does not seem to make sense since no SQL aggregation seems to be selected.
Peeked around and found db/migrate/07_dmsf_1_4_4.rb
- hand patched it:
- DmsfFileLock.order('updated_at DESC').group('dmsf_file_id').find_each do |lock|
+ DmsfFileLock.order('updated_at DESC').find_each do |lock|
This ran ok.
rake
command have discarded xapian? Did I do something wrong?GROUP BY
issue correct? I admit you may by running this with MySQL or sqlite which may not fail with the SQL query... But what is the purpose of the .group('dmsf_file_id')
in db/migrate/07_dmsf_1_4_4.rb
. Shouldn't it be removed?All in all, thanks for:
When a file is uploaded which is locked, the following error occures:
NameError (uninitialized constant DmsfUploadController::DmsfFileLock):
plugins/redmine_dmsf/app/controllers/dmsf_upload_controller.rb:136:in commit_files' plugins/redmine_dmsf/app/controllers/dmsf_upload_controller.rb:87:in
each_value'
plugins/redmine_dmsf/app/controllers/dmsf_upload_controller.rb:87:in `commit_files'
Used the version: 93284f0
Thanks for the great work!
Greats,
Robbedoes
Hi,
I try to install the plugin on a windows machine.
First I execute bundle --without=xapian rmagick test development
After that I try rake redmine:plugins:migrate RAILS_ENV="production"
but I got the error I need other gems (I thought xapian), but how can I install it without xapian?
DMSF has a single mode exclusive lock, however with the introduction with Webdav, this is inefficient as all other locks are returned as created but ignored (write exclusive from webdav is treated as the same exclusive lock); further locks do not expire.
Question comes in:
1: Should locks have an TTL (unless flagged as "forever", through UI or otherwise)?
2: Should UI be presented when making a revision of a file (if file is locked to user) asking if they wish to have a lock made?
3: Should we allow multiple locks on a file, eg: shared locking?
4: In which cases do we indicate to a user that a resource is locked? (only write locks should be indicated, as other locks are indication of intent)
5: What impact is this going to have on WebDav functionality - as it complies with existing locking mechanism (to a degree).
6: Should additional logging effort be made for clashes with file locks?
At present the UI for DMSF is quite clunky and I think it could do with an overhaul.
The following is proposed:
This is an open issue, and it'd be great to get feedback from users about functionality they'd like to see - or even some assistance / input on UI design (and subsequent ideas) etc.
Does not work for redmine 1.3
Hoepfully will for 1.4
It's originates from the original issue #146 of Google Code project.
Request was made to switch documentation to Markdown, and further update the documentation to remove/correct incorrect library dependencies.
The issue is described here http://code.google.com/p/redmine-dmsf/issues/detail?id=191
It seems to happen when the upload doesn't complete for some reason. The dmsf_file doesn't have a dmsf_file_revision. The only way to access DMSF again is to delete manually the corrupted entry in the database :
To identify any files missing revisions:
SELECT * FROM dmsf_files
WHERE NOT EXISTS(
SELECT * FROM dmsf_file_revisions
WHERE dmsf_file_revisions
.dmsf_file_id
= dmsf_files
.id
)
And delete the files missing revisions to recover from the problem:
DELETE FROM dmsf_files
WHERE NOT EXISTS(
SELECT * FROM dmsf_file_revisions
WHERE dmsf_file_revisions
.dmsf_file_id
= dmsf_files
.id
)
It could be great that when a file is corrupted, we still can access it and maybe have the possibility to delete it directly from Redmine and not going to the database ?
Here
https://github.com/danmunn/redmine_dmsf/blob/master/lib/redmine_dmsf/webdav/dmsf_resource.rb#L240
and here
https://github.com/danmunn/redmine_dmsf/blob/master/lib/redmine_dmsf/webdav/dmsf_resource.rb#L315
there is an extra space after the ? that creates a warning in apache2 error_log.
Currently, there is only the option to move folders or individual files in the DMSF tab. An option to select multiple files and then move to a folder would be very much appreciated (similar to how the delete multiple item button works).
I understand that the 100 MB ajax upload limit is a compatibility safety for legacy browser but I have just tested with the latest chrome a 500MB ajax upload (I modified the JQuery script to explode the max_file_size) and it worked like a charm.
Considering that the ajax uploader is a way more intuitive UI to upload a file, could you provide an option in which we could configure the max_file_size for the ajax upload ?
Hi, I got the same error on a different setup and I suppose there's another reason.
Up and down loading files through the web UI is like a breeze.
I can connect to the webdav repo with the explorer on win 7 or Nautilus on Fedora 17. There is no problem reading files. But writing files is not possible.
Nautilus says that there is an internal server error.
Explorer says that it can't read the source file or source dir. Hm?
My setup:
In the redmine production.log there is an error entry:
...
Started PROPFIND "/dmsf/webdav/soc/2011AppSvcDeliveryFull.pdf" for 192.168.178.21 at 2012-07-08 13:07:51 +0200
Started PUT "/dmsf/webdav/soc/2011AppSvcDeliveryFull.pdf" for 192.168.178.21 at 2012-07-08 13:07:51 +0200
NoMethodError (undefined method length' for #PhusionPassenger::Utils::RewindableInput:0x00000006cae4b8):
plugins/redmine_dmsf/lib/redmine_dmsf/webdav/dmsf_resource.rb:514:input'
plugins/redmine_dm.....
There is an error entry in the nginx access.log
192.168.178.21 - Sebastian [08/Jul/2012:13:07:51 +0200] "PROPFIND /dmsf/webdav HTTP/1.1" 207 1334 "-" "Microsoft-WebDAV-MiniRedir/6.1.7601" "-"
192.168.178.21 - Sebastian [08/Jul/2012:13:07:51 +0200] "PROPFIND /dmsf/webdav/soc/2011AppSvcDeliveryFull.pdf HTTP/1.1" 404 5 "-" "Microsoft-WebDAV-MiniRedir/6.1.7601" "-"
192.168.178.21 - Sebastian [08/Jul/2012:13:07:51 +0200] "PUT /dmsf/webdav/soc/2011AppSvcDeliveryFull.pdf HTTP/1.1" 500 674 "-" "Microsoft-WebDAV-MiniRedir/6.1.7601" "-"
192.168.178.21 - - [08/Jul/2012:13:31:40 +0200] "-" 400 0 "-" "-" "-"
There is no entry in the nginx error.log
Any help woud be appreciated. Thanks.
Sebastian
Fresh install of redmine 2.0.3, I went through your instructions, installed the dependencies:
put redmine_dmsf into the plugins folder. Got the gems installed:
Using nokogiri (1.5.5)
Using simple_enum (1.6.2)
Using uuidtools (2.1.3)
Using zip (2.0.2)
ran bundle install --without xapian
rake went fine: Migrating redmine_dmsf (DMSF)...
DB was updated properly, checked the tables. So... everything looked good. Restarted Apache, using passenger in this case.
But DMSF doesn't show up in the plugin list. I tried converting a project as per your instructions as well, same problem.
Any suggestions as to how to troubleshoot? I'm pretty new to redmine, ruby and rails.
Environment:
Redmine version 2.0.3.stable
Ruby version 1.9.3 (x86_64-linux)
Rails version 3.2.6
Environment production
Database adapter Mysql2
I was excited to see that development on this plugin has picked back up. I recently upgraded my redmine installation to 2.0.3 and was looking foward to installing and using this plugin. However, after placing the plugin folder into the correct directoy, I recieved the following error while issuing the plugin migration command:
"/data/redmine-2.0.3-0/ruby/lib/ruby/gems/1.8/gems/bundler-1.0.21/lib/bundler/dsl .rb:209:in `_normalize_options': You passed :github as an option for gem 'dav4rack', but it is invalid."
I looked into the error for quite a long time, but came up empty. Any help is appreciated as I would really like to utilize this plugin.
Redmine Version: 2.0.3 (Bitnami 2.0.3-0)
OS: CentOS 6
I have tried to migrate the plugin both with Redmine runnung and with Redmine stopped.
First, is it possible to know what are all the documents locked by each user like in "My page" for issues?
Second, is the plugin DMSF adequate for hundreds of files? In my case, the interface becomes slow.
Third, does the simple document approval workflow can be assigned to a user?
Best Regards,
Investigation the provision of CMIS support within DMSF
Hello,
We are using redmine_dmsf devel-1.4.5 under redmine 2.0.2 with ruby 1.8 under debian wheezy.
When deleting a file, we got an error 500.
----------------8<------- LOG FILE ----------------8<-------
tarted POST "/dmsf/files/33/delete" for 172.16.1.249 at Wed Jul 18 17:12:53 +0200 2012
Processing by DmsfFilesController#delete as HTML
Parameters: {"id"=>"33", "utf8"=>"รข~~S", "authenticity_token"=>"UuC7Vx+VGYbi1Orsi1+LYxbaGLOtoIe0CEdiBRCda2E="}
2012-07-18 17:12:54 [email protected]/: deleted dmsf://exemplefx/33/
Rendered plugins/redmine_dmsf/app/views/dmsf_mailer/files_deleted.text.erb within layouts/mailer (3.9ms)
Completed 500 Internal Server Error in 534ms
ActionView::Template::Error (undefined method title' for nil:NilClass): 1: User <%= @user %> deleted DMSF files in project <%= @project.name %>: 2: <% @files.each do |file| %> 3: <%= file.dmsf_path_str %> (<%= file.name %>), <%= number_to_human_size(file.last_revision.size) %>, version: <%= file.last_revision.major_version %>.<%= file.last_revision.minor_version %> 4: 5: <% end %> app/models/mailer.rb:406:in
mail'
app/models/mailer.rb:405:in mail' app/models/mailer.rb:416:in
initialize'
app/models/mailer.rb:429:in `method_missing'
----------------8<------- LOG FILE ----------------8<-------
Thanks again for this great plugin.
Cheers
Lets face it, the plugin has some basic configuration options however makes no attempt to integrate with the administration portion of redmine. I think it would be beneficial (if possible) to see the ability to run safe data cleanup operations, and perhaps even see notifications where DMSF is update (if this is possible).
Are there other functionalities that people can conceive that perhaps could/should be added?
I have installed dmsf with the configuration below, without xapian.
Since then I cannot create a new project (Internal Server Error 500).
If I uninstall dmsf then everything is fine.
Where can I get the error log to help you see what is wrong ?
Environment:
Redmine version 2.0.3.stable
Ruby version 1.8.7 (x86_64-linux)
Rails version 3.2.6
Environment production
Database adapter MySQL
Redmine plugins:
redmine_dmsf 1.4.3 stable
There is no test cases for webdav functionality, the module that empowers this functionality dav4rack also contains no testing, so tests need to be scoped from appropriate use cases. As we are unable to test the controllers in this case, we are unable to effectively test our data scoping objects, so cases will need to be created more as integration tests than unit or functional tests.
When accessing with a GET request
http://.../dmsf/webdav/project2 (which does not have DMSF enabled on it, shows a directory listing with no contents, when it should include 404 error as project is inaccessible to webdav. Ultimately this could mean that DMSF items are listed againts non-enabled projects when using PUT etc.
Due to the use of Basic authentication, Microsoft disable its use of standard HTTP, documentation could be provided to demonstrate how to re-enable basic authentication over http (security risk). However it is worth pointing out that Open office seem to lack the same level of support (however have been unable to ascertain how to get that to function correctly over http - fine on https)
Hi,
I've just pulled 1.4.4p2.
When I'm testing WebDAV functionality there's a strange behavior.
Please have a look at the following image http://dl.dropbox.com/u/88033600/pic001.png.
When I copy a file using win 7 explorer to the webdav dir it becomes immediately Version 2.0 (It's the first file on the picture).
The same things happens when I save a file from Word 2010 to the webdav dir (It's the last file on the picture).
When I copy a file using Nautilus on Fedora 17 everything's right (It's the 3rd file on the picture).
When I save a file from LibreOffice everything is right too (It's the 2nd file on the picture).
When you look at the details for the first file http://dl.dropbox.com/u/88033600/pic002.png you will find two versions. The first is already 0 Bytes in size, the second one is ok. The time stamp it's nearly the same.
Any Help would be apreciated.
Sebastian
CentOS 6.2, Ruby 1.9.3 p194, Nginx 1.2.1, Passenger 3.0.13, Redmine 2.0.3
Please update README.md
Dependencies
The should be
Dependencies
*N__o__kogiri 1.4.2 or greater (Gem)
gem install nikogiri
ERROR: Could not find a valid gem 'nikogiri' (>= 0) in any repository
Init.rb holds a default value for "webdav" of wrong type, this has integer, expected string. As such when checked to see if empty (empty?) the method doesn't exist on the integer class.
Hello,
I am receiving an internal server error when downloading some folders. Some folders work perfectly but about 1/3 of them fail.
Below is the error I am seeing in the log. Can you see what could be wrong here?
Thanks!
Processing by DmsfController#entries_operation as HTML
Parameters: {"utf8"=>"โ", "authenticity_token"=>"*****", "download_entries"=>"Download", "subfolders"=>["34"], "folder_id"=>"13", "id"=>"fp7"}
Completed 500 Internal Server Error in 22ms
NoMethodError (undefined method disk_file' for nil:NilClass): plugins/redmine_dmsf/lib/dmsf_zip.rb:53:in
add_file'
plugins/redmine_dmsf/lib/dmsf_zip.rb:72:in block in add_folder' activerecord (3.2.6) lib/active_record/associations/collection_proxy.rb:89:in
each'
activerecord (3.2.6) lib/active_record/associations/collection_proxy.rb:89:in method_missing' plugins/redmine_dmsf/lib/dmsf_zip.rb:72:in
add_folder'
plugins/redmine_dmsf/app/controllers/dmsf_controller.rb:321:in block in zip_entries' plugins/redmine_dmsf/app/controllers/dmsf_controller.rb:319:in
each'
plugins/redmine_dmsf/app/controllers/dmsf_controller.rb:319:in zip_entries' plugins/redmine_dmsf/app/controllers/dmsf_controller.rb:300:in
download_entries'
plugins/redmine_dmsf/app/controllers/dmsf_controller.rb:56:in entries_operation' actionpack (3.2.6) lib/action_controller/metal/implicit_render.rb:4:in
send_action'
......
The original DMSF project does not include test cases on controllers or projects, and as such it cannot be ensured that changes does not affect existing functionality, or even works as expected.
At present models relate via use of has_many and conditions set within - which for functionality sake works, however is exceptionally limiting.
There is an open feature request on google code which asks for the ability to hold "public" items, and the manual permission check on items isn't really feasible in this scope.
Instead, if we use a lambda scope function (say visible, to keep with the convention that redmine uses), we could then start not listing deleted files, but also running an appropriate visibility check (such as deletion, but permission and a public check too). Further as this develops it means we could look at some point in the future at overhauling the permissions in play on the plugin and assigning permissions perhaps on folder and file directly? (though this isn't a scheduled change ... yet).
As we move forward it becomes apparent that when a project is deleted the DMSF data is retained (I'm going to view this as an error, as data shouldn't really ever be orphaned), due to the fact that data links are not ever flagged with dependency action (destroy in this case):
The proposal is as the following:
Through project patch, add 2 has_many links that list dependency deletions (dmsf_files and dmsf_folders)
In the dmsf_folder model, take the file link conditions out, and add a lambda function into dmsf_files
In the dmsf_file model take the link conditions out, and add a lambda function into dmsf_file_revisions.
Provide link between revisions and dmsf_file_revision_access (with dependency destroy)
update the link between dmsf_file and dmsf_lock with relevent dependency destroy.
If there are any comments on this please advise.
Hi,
i tried the plugin and git cloned it, then bundled the gems, everything fine since i try to rake afterwards.
i get this then:
rake aborted!
uninitialized constant ActionDispatch
/opt/redmine/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:469:in load_missing_constant' /opt/redmine/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:106:in
const_missing'
/opt/redmine/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:118:in const_missing' /opt/redmine/apps/redmine/htdocs/vendor/plugins/redmine_dmsf/lib/redmine_dmsf/webdav/no_parse.rb:49 /opt/redmine/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:184:in
require'
/opt/redmine/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:184:in require' /opt/redmine/apps/redmine/htdocs/vendor/plugins/redmine_dmsf/lib/redmine_dmsf/webdav.rb:21 /opt/redmine/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:184:in
require'
/opt/redmine/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:184:in require' /opt/redmine/apps/redmine/htdocs/vendor/plugins/redmine_dmsf/lib/redmine_dmsf.rb:6 /opt/redmine/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:184:in
require'
/opt/redmine/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:184:in require' /opt/redmine/apps/redmine/htdocs/vendor/plugins/redmine_dmsf/init.rb:21:in
evaluate_init_rb'
/opt/redmine/ruby/lib/ruby/gems/1.8/gems/rails-2.3.14/lib/rails/plugin.rb:158:in evaluate_init_rb' /opt/redmine/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.14/lib/active_support/core_ext/kernel/reporting.rb:11:in
silence_warnings'
/opt/redmine/ruby/lib/ruby/gems/1.8/gems/rails-2.3.14/lib/rails/plugin.rb:154:in evaluate_init_rb' /opt/redmine/ruby/lib/ruby/gems/1.8/gems/rails-2.3.14/lib/rails/plugin.rb:48:in
load'
/opt/redmine/apps/redmine/htdocs/config/../vendor/plugins/engines/lib/engines/plugin.rb:44:in load' /opt/redmine/ruby/lib/ruby/gems/1.8/gems/rails-2.3.14/lib/rails/plugin/loader.rb:38:in
load_plugins'
/opt/redmine/ruby/lib/ruby/gems/1.8/gems/rails-2.3.14/lib/rails/plugin/loader.rb:37:in each' /opt/redmine/ruby/lib/ruby/gems/1.8/gems/rails-2.3.14/lib/rails/plugin/loader.rb:37:in
load_plugins'
/opt/redmine/ruby/lib/ruby/gems/1.8/gems/rails-2.3.14/lib/initializer.rb:369:in load_plugins' /opt/redmine/ruby/lib/ruby/gems/1.8/gems/rails-2.3.14/lib/initializer.rb:165:in
process'
/opt/redmine/ruby/lib/ruby/gems/1.8/gems/rails-2.3.14/lib/initializer.rb:113:in send' /opt/redmine/ruby/lib/ruby/gems/1.8/gems/rails-2.3.14/lib/initializer.rb:113:in
run'
/opt/redmine/apps/redmine/htdocs/config/environment.rb:21
/opt/redmine/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:182:in require' /opt/redmine/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:182:in
require'
/opt/redmine/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:547:in new_constants_in' /opt/redmine/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:182:in
require'
/opt/redmine/apps/redmine/htdocs/vendor/plugins/Redmine-Periodic-Task/lib/tasks/periodictask.rake:7
/opt/redmine/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:171:in load_without_new_constant_marking' /opt/redmine/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:171:in
load'
/opt/redmine/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:547:in new_constants_in' /opt/redmine/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.14/lib/active_support/dependencies.rb:171:in
load'
/opt/redmine/ruby/lib/ruby/gems/1.8/gems/rails-2.3.14/lib/tasks/rails.rb:13
/opt/redmine/ruby/lib/ruby/gems/1.8/gems/rails-2.3.14/lib/tasks/rails.rb:13:in each' /opt/redmine/ruby/lib/ruby/gems/1.8/gems/rails-2.3.14/lib/tasks/rails.rb:13 /opt/redmine/apps/redmine/htdocs/Rakefile:15:in
require'
/opt/redmine/apps/redmine/htdocs/Rakefile:15
/opt/redmine/ruby/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/rake_module.rb:25:in load' /opt/redmine/ruby/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/rake_module.rb:25:in
load_rakefile'
/opt/redmine/ruby/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:501:in raw_load_rakefile' /opt/redmine/ruby/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:82:in
load_rakefile'
/opt/redmine/ruby/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:133:in standard_exception_handling' /opt/redmine/ruby/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:81:in
load_rakefile'
/opt/redmine/ruby/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:65:in run' /opt/redmine/ruby/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:133:in
standard_exception_handling'
/opt/redmine/ruby/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:63:in run' /opt/redmine/ruby/lib/ruby/gems/1.8/gems/rake-0.9.2.2/bin/rake:33 /opt/redmine/ruby/bin/rake:19:in
load'
/opt/redmine/ruby/bin/rake:19
While installing redmine_dmsf 1.4.4p2 (with updated init.rb) on Windows 2008, Redmine 2.0.3 and Postgres, I encountered the following error. Redmine is configured with Postgres so I assume it's sending MySQL specific SQL that PostgreSQL does not understand.
== Dmsf144: migrating ======================================================== -- add_column(:dmsf_file_locks, :entity_type, :integer, {:null=>true}) -> 0.0000s -- add_column(:dmsf_file_locks, :lock_type_cd, :integer, {:null=>true}) -> 0.0000s -- add_column(:dmsf_file_locks, :lock_scope_cd, :integer, {:null=>true}) -> 0.0000s -- add_column(:dmsf_file_locks, :uuid, :string, {:limit=>36, :null=>true}) -> 0.0000s -- add_column(:dmsf_file_locks, :expires_at, :datetime, {:null=>true}) -> 0.0156s rake aborted! An error has occurred, this and all later migrations canceled: PG::Error: ERROR: column "dmsf_file_locks.id" must appear in the GROUP BY clause or be used in an aggregate function LINE 1: SELECT "dmsf_file_locks".* FROM "dmsf_file_locks" WHERE ("... ^ : SELECT "dmsf_file_locks".* FROM "dmsf_file_locks" WHERE ("dmsf_file_locks". id" >= 0) GROUP BY dmsf_file_id ORDER BY "dmsf_file_locks"."id" ASC LIMIT 1000 Tasks: TOP => redmine:plugins:migrate
Now i try to upgrade redmine from 1.3 to 2.0. Also i try to upgrade DMSF
Everything looks fine, but when i try to download file i got 404 error.
In logs i found this information:
ActionController::MissingFile (Cannot read file /usr/share/redmine/files/dmsf/p_project-id/filename.txt):
And this is correct cause this file located here /usr/share/redmine/files/dmsf/filename.txt
As for as i know - previous version of DMSF store all files in the dmsf folder. And this version creates subfolders like dmsf/p_project-id
So can you create a migration task, or something like that?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.