<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>评论：Redmine_Importer: Redmine CSV Import Plugin</title>
	<atom:link href="http://www.martinliu.info/2009/04/redmine_importer-redmine-csv-import-plugin/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.martinliu.info/2009/04/redmine_importer-redmine-csv-import-plugin/</link>
	<description>Martin&#039;s Crazy World</description>
	<lastBuildDate>Tue, 22 Jun 2010 06:09:08 +0800</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>来自：Gilles Ballanger</title>
		<link>http://www.martinliu.info/2009/04/redmine_importer-redmine-csv-import-plugin/comment-page-1/#comment-6971</link>
		<dc:creator>Gilles Ballanger</dc:creator>
		<pubDate>Mon, 17 May 2010 16:02:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.martinliu.info/?p=97#comment-6971</guid>
		<description>Hello,

I made a small modification to match viewer (for lazy user) it try to match the column name with the field name and if equal select the appropriate field.

here is the patch hope it can help :
-----------------
### Eclipse Workspace Patch 1.0
#P redminePluginTicketImport
Index: src/issues_importer/app/views/importer/match.html.erb
===================================================================
--- src/issues_importer/app/views/importer/match.html.erb
+++ src/issues_importer/app/views/importer/match.html.erb	
@@ -14,8 +14,14 @@
 	
 	
 	
+		
 		 :
-		 &lt;%= select_tag &quot;fields_map[#{column}]&quot;, &quot;#{l(:option_ignore)}&quot; + options_for_select( @attrs ) %&gt;
+		 
+		 &lt;%= select_tag &quot;fields_map[#{column}]&quot;, &quot;#{l(:option_ignore)}&quot; + options_for_select( @attrs , matchedsel) %&gt;
 	
 	</description>
		<content:encoded><![CDATA[<p>Hello,</p>
<p>I made a small modification to match viewer (for lazy user) it try to match the column name with the field name and if equal select the appropriate field.</p>
<p>here is the patch hope it can help :<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
### Eclipse Workspace Patch 1.0<br />
#P redminePluginTicketImport<br />
Index: src/issues_importer/app/views/importer/match.html.erb<br />
===================================================================<br />
&#8212; src/issues_importer/app/views/importer/match.html.erb<br />
+++ src/issues_importer/app/views/importer/match.html.erb<br />
@@ -14,8 +14,14 @@</p>
<p>+<br />
 		 :<br />
-		 &lt;%= select_tag &quot;fields_map[#{column}]&quot;, &quot;#{l(:option_ignore)}&#8221; + options_for_select( @attrs ) %&gt;<br />
+<br />
+		 &lt;%= select_tag &quot;fields_map[#{column}]&quot;, &quot;#{l(:option_ignore)}&#8221; + options_for_select( @attrs , matchedsel) %&gt;</p>
]]></content:encoded>
	</item>
	<item>
		<title>来自：Greg Mefford</title>
		<link>http://www.martinliu.info/2009/04/redmine_importer-redmine-csv-import-plugin/comment-page-1/#comment-6859</link>
		<dc:creator>Greg Mefford</dc:creator>
		<pubDate>Wed, 10 Mar 2010 15:46:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.martinliu.info/?p=97#comment-6859</guid>
		<description>After doing some research, we solved the problem of getting this plugin to work on Redmine 0.9.x by using this fork of the plugin, which uses the new i18n API: http://github.com/rchady/redmine_importer/tree/</description>
		<content:encoded><![CDATA[<p>After doing some research, we solved the problem of getting this plugin to work on Redmine 0.9.x by using this fork of the plugin, which uses the new i18n API: <a href="http://github.com/rchady/redmine_importer/tree/" rel="nofollow">http://github.com/rchady/redmine_importer/tree/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>来自：Greg Mefford</title>
		<link>http://www.martinliu.info/2009/04/redmine_importer-redmine-csv-import-plugin/comment-page-1/#comment-6855</link>
		<dc:creator>Greg Mefford</dc:creator>
		<pubDate>Tue, 09 Mar 2010 19:44:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.martinliu.info/?p=97#comment-6855</guid>
		<description>We were looking to install this plugin for evaluation on our internal Redmine server and ran into a translation issue that seems like it wouldn&#039;t be too complicated to fix, but I haven&#039;t looked in to how to implement the fix yet.

we&#039;re running Redmine 0.9.2 on Rails 2.3.4.
The error we are getting is similar to the ones listed above , for example:
  &quot;translation missing: en, label_issue_importer&quot;

Is there a fix for this, or is there one in-progress?

Thanks!</description>
		<content:encoded><![CDATA[<p>We were looking to install this plugin for evaluation on our internal Redmine server and ran into a translation issue that seems like it wouldn&#8217;t be too complicated to fix, but I haven&#8217;t looked in to how to implement the fix yet.</p>
<p>we&#8217;re running Redmine 0.9.2 on Rails 2.3.4.<br />
The error we are getting is similar to the ones listed above , for example:<br />
  &#8220;translation missing: en, label_issue_importer&#8221;</p>
<p>Is there a fix for this, or is there one in-progress?</p>
<p>Thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>来自：Pr016</title>
		<link>http://www.martinliu.info/2009/04/redmine_importer-redmine-csv-import-plugin/comment-page-1/#comment-6828</link>
		<dc:creator>Pr016</dc:creator>
		<pubDate>Tue, 23 Feb 2010 09:42:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.martinliu.info/?p=97#comment-6828</guid>
		<description>Hi Martin, i was looking for the import of .csv into redmine and i found your plugin but when i tried it i had this problem (after the click on the button_upload)...
-----------------------------------------------------------------------------------
vendor/rails/activesupport/lib/active_support/dependencies.rb:493:in `const_missing&#039;
vendor/plugins/redmine_importer/app/controllers/importer_controller.rb:49:in `match&#039;
vendor/rails/actionpack/lib/action_controller/base.rb:1166:in `send&#039;
vendor/rails/actionpack/lib/action_controller/base.rb:1166:in `perform_action_without_filters&#039;
vendor/rails/actionpack/lib/action_controller/filters.rb:579:in `call_filters&#039;
vendor/rails/actionpack/lib/action_controller/filters.rb:572:in `perform_action_without_benchmark&#039;
vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue&#039;
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/1.8/benchmark.rb:293:in `measure&#039;
vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue&#039;
vendor/rails/actionpack/lib/action_controller/rescue.rb:201:in `perform_action_without_caching&#039;
vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:13:in `perform_action&#039;
vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb:33:in `cache&#039;
vendor/rails/activerecord/lib/active_record/query_cache.rb:8:in `cache&#039;
vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:12:in `perform_action&#039;
vendor/rails/actionpack/lib/action_controller/base.rb:529:in `send&#039;
vendor/rails/actionpack/lib/action_controller/base.rb:529:in `process_without_filters&#039;
vendor/rails/actionpack/lib/action_controller/filters.rb:568:in `process_without_session_management_support&#039;
vendor/rails/actionpack/lib/action_controller/session_management.rb:130:in `process&#039;
vendor/rails/actionpack/lib/action_controller/base.rb:389:in `process&#039;
vendor/rails/actionpack/lib/action_controller/dispatcher.rb:149:in `handle_request&#039;
vendor/rails/actionpack/lib/action_controller/dispatcher.rb:107:in `dispatch&#039;
vendor/rails/actionpack/lib/action_controller/dispatcher.rb:104:in `synchronize&#039;
vendor/rails/actionpack/lib/action_controller/dispatcher.rb:104:in `dispatch&#039;
vendor/rails/actionpack/lib/action_controller/dispatcher.rb:120:in `dispatch_cgi&#039;
vendor/rails/actionpack/lib/action_controller/dispatcher.rb:35:in `dispatch&#039;
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel/rails.rb:76:in `process&#039;
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel/rails.rb:74:in `synchronize&#039;
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel/rails.rb:74:in `process&#039;
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:159:in `process_client&#039;
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:158:in `each&#039;
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:158:in `process_client&#039;
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:285:in `run&#039;
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:285:in `initialize&#039;
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:285:in `new&#039;
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:285:in `run&#039;
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:268:in `initialize&#039;
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:268:in `new&#039;
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:268:in `run&#039;
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel/configurator.rb:282:in `run&#039;
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel/configurator.rb:281:in `each&#039;
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel/configurator.rb:281:in `run&#039;
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/bin/mongrel_rails:128:in `run&#039;
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel/command.rb:212:in `run&#039;
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/bin/mongrel_rails:281
C:/Program Files/BitNami Redmine Stack/ruby/bin/mongrel_rails:19:in `load&#039;
C:/Program Files/BitNami Redmine Stack/ruby/bin/mongrel_rails:19
---------------------------------------------------------------------------------

The session dump is this :

:importer_tmpfile: redmine_importer20100223-1764-ybk4vg-0
:importer_splitter: &quot;,&quot;
:importer_wrapper: &quot;\&quot;&quot;
:user_id: 1
:importer_encoding: U
flash: !map:ActionController::Flash::FlashHash {}

Can you help me ?
Thanks, bye.</description>
		<content:encoded><![CDATA[<p>Hi Martin, i was looking for the import of .csv into redmine and i found your plugin but when i tried it i had this problem (after the click on the button_upload)&#8230;<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
vendor/rails/activesupport/lib/active_support/dependencies.rb:493:in `const_missing&#8217;<br />
vendor/plugins/redmine_importer/app/controllers/importer_controller.rb:49:in `match&#8217;<br />
vendor/rails/actionpack/lib/action_controller/base.rb:1166:in `send&#8217;<br />
vendor/rails/actionpack/lib/action_controller/base.rb:1166:in `perform_action_without_filters&#8217;<br />
vendor/rails/actionpack/lib/action_controller/filters.rb:579:in `call_filters&#8217;<br />
vendor/rails/actionpack/lib/action_controller/filters.rb:572:in `perform_action_without_benchmark&#8217;<br />
vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue&#8217;<br />
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/1.8/benchmark.rb:293:in `measure&#8217;<br />
vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue&#8217;<br />
vendor/rails/actionpack/lib/action_controller/rescue.rb:201:in `perform_action_without_caching&#8217;<br />
vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:13:in `perform_action&#8217;<br />
vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb:33:in `cache&#8217;<br />
vendor/rails/activerecord/lib/active_record/query_cache.rb:8:in `cache&#8217;<br />
vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:12:in `perform_action&#8217;<br />
vendor/rails/actionpack/lib/action_controller/base.rb:529:in `send&#8217;<br />
vendor/rails/actionpack/lib/action_controller/base.rb:529:in `process_without_filters&#8217;<br />
vendor/rails/actionpack/lib/action_controller/filters.rb:568:in `process_without_session_management_support&#8217;<br />
vendor/rails/actionpack/lib/action_controller/session_management.rb:130:in `process&#8217;<br />
vendor/rails/actionpack/lib/action_controller/base.rb:389:in `process&#8217;<br />
vendor/rails/actionpack/lib/action_controller/dispatcher.rb:149:in `handle_request&#8217;<br />
vendor/rails/actionpack/lib/action_controller/dispatcher.rb:107:in `dispatch&#8217;<br />
vendor/rails/actionpack/lib/action_controller/dispatcher.rb:104:in `synchronize&#8217;<br />
vendor/rails/actionpack/lib/action_controller/dispatcher.rb:104:in `dispatch&#8217;<br />
vendor/rails/actionpack/lib/action_controller/dispatcher.rb:120:in `dispatch_cgi&#8217;<br />
vendor/rails/actionpack/lib/action_controller/dispatcher.rb:35:in `dispatch&#8217;<br />
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel/rails.rb:76:in `process&#8217;<br />
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel/rails.rb:74:in `synchronize&#8217;<br />
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel/rails.rb:74:in `process&#8217;<br />
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:159:in `process_client&#8217;<br />
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:158:in `each&#8217;<br />
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:158:in `process_client&#8217;<br />
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:285:in `run&#8217;<br />
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:285:in `initialize&#8217;<br />
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:285:in `new&#8217;<br />
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:285:in `run&#8217;<br />
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:268:in `initialize&#8217;<br />
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:268:in `new&#8217;<br />
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel.rb:268:in `run&#8217;<br />
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel/configurator.rb:282:in `run&#8217;<br />
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel/configurator.rb:281:in `each&#8217;<br />
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel/configurator.rb:281:in `run&#8217;<br />
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/bin/mongrel_rails:128:in `run&#8217;<br />
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/lib/mongrel/command.rb:212:in `run&#8217;<br />
C:/Program Files/BitNami Redmine Stack/ruby/lib/ruby/gems/1.8/gems/mongrel-1.1.5-x86-mswin32-60/bin/mongrel_rails:281<br />
C:/Program Files/BitNami Redmine Stack/ruby/bin/mongrel_rails:19:in `load&#8217;<br />
C:/Program Files/BitNami Redmine Stack/ruby/bin/mongrel_rails:19<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>The session dump is this :</p>
<p>:importer_tmpfile: redmine_importer20100223-1764-ybk4vg-0<br />
:importer_splitter: &#8220;,&#8221;<br />
:importer_wrapper: &#8220;\&#8221;"<br />
:user_id: 1<br />
:importer_encoding: U<br />
flash: !map:ActionController::Flash::FlashHash {}</p>
<p>Can you help me ?<br />
Thanks, bye.</p>
]]></content:encoded>
	</item>
	<item>
		<title>来自：Jack</title>
		<link>http://www.martinliu.info/2009/04/redmine_importer-redmine-csv-import-plugin/comment-page-1/#comment-6714</link>
		<dc:creator>Jack</dc:creator>
		<pubDate>Thu, 04 Feb 2010 06:41:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.martinliu.info/?p=97#comment-6714</guid>
		<description>&quot;restart your redmine, do some config in permission settings&quot;

Wow, thanks for the clear directions.  Let me google &quot;some config&quot; and see what  I can find.</description>
		<content:encoded><![CDATA[<p>&#8220;restart your redmine, do some config in permission settings&#8221;</p>
<p>Wow, thanks for the clear directions.  Let me google &#8220;some config&#8221; and see what  I can find.</p>
]]></content:encoded>
	</item>
	<item>
		<title>来自：Luca Romanello</title>
		<link>http://www.martinliu.info/2009/04/redmine_importer-redmine-csv-import-plugin/comment-page-1/#comment-6710</link>
		<dc:creator>Luca Romanello</dc:creator>
		<pubDate>Wed, 03 Feb 2010 08:25:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.martinliu.info/?p=97#comment-6710</guid>
		<description>Hi Martin!
It&#039;s me again...
I found a problem in your plugin when using it inside a mongrel_cluster with apache2 as a proxy balancer. As I tried to understand, when importing a csv in such an environment, there is a chance that between the first step of the import (that is, uploading the file) and the second one (submitting the mappings between header fields and issue attributes), the balancer decides to swap your request to another node of the cluster. When this happens, the plugin loses its handle on the file previously saved - of course, when there is just a node involved in the cluster (besides not being a true cluster... :P), all works as expected.
I think this is related to the fact you are using a global variable Hash to store the handle to the file: my guess is that when the balancer swap to another node of the cluster, that variable in that node may not be initialized and, even if it is, doesn&#039;t know anything about the file you uploaded on the other node.
I don&#039;t know if this is a configuration issue of the proxy balancer or not, but I came to a patch on import_controller.rb:
I stored in session File.dirname(tmpfile.path), too, and then get it from session inside method result; then, instead of making
    tmpfile = $tmpfiles[tmpfilename]
(which is the line that raises error)
I put
    tmpfile = File.open(tmpfiledirname + &quot;/&quot; + tmpfilename)
where, of course, tmpfiledirname is the value I stored in session.
Now, like my previous comment, I don&#039;t expect this to be a perfect patch, but until now it works. Hope this helps... ;)</description>
		<content:encoded><![CDATA[<p>Hi Martin!<br />
It&#8217;s me again&#8230;<br />
I found a problem in your plugin when using it inside a mongrel_cluster with apache2 as a proxy balancer. As I tried to understand, when importing a csv in such an environment, there is a chance that between the first step of the import (that is, uploading the file) and the second one (submitting the mappings between header fields and issue attributes), the balancer decides to swap your request to another node of the cluster. When this happens, the plugin loses its handle on the file previously saved &#8211; of course, when there is just a node involved in the cluster (besides not being a true cluster&#8230; <img src='http://www.martinliu.info/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> ), all works as expected.<br />
I think this is related to the fact you are using a global variable Hash to store the handle to the file: my guess is that when the balancer swap to another node of the cluster, that variable in that node may not be initialized and, even if it is, doesn&#8217;t know anything about the file you uploaded on the other node.<br />
I don&#8217;t know if this is a configuration issue of the proxy balancer or not, but I came to a patch on import_controller.rb:<br />
I stored in session File.dirname(tmpfile.path), too, and then get it from session inside method result; then, instead of making<br />
    tmpfile = $tmpfiles[tmpfilename]<br />
(which is the line that raises error)<br />
I put<br />
    tmpfile = File.open(tmpfiledirname + &#8220;/&#8221; + tmpfilename)<br />
where, of course, tmpfiledirname is the value I stored in session.<br />
Now, like my previous comment, I don&#8217;t expect this to be a perfect patch, but until now it works. Hope this helps&#8230; <img src='http://www.martinliu.info/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>来自：zhaohl</title>
		<link>http://www.martinliu.info/2009/04/redmine_importer-redmine-csv-import-plugin/comment-page-1/#comment-6452</link>
		<dc:creator>zhaohl</dc:creator>
		<pubDate>Fri, 29 Jan 2010 01:25:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.martinliu.info/?p=97#comment-6452</guid>
		<description>missing lang when work with redmine-0.9-stable (svn: 3334)

translation missing: zh, label_importer
translation missing: zh, label_issue_importer
.....

redmine-importer version:
http://www.martinliu.info/wp-content/uploads/2009/04/redmine_importer-031.zip</description>
		<content:encoded><![CDATA[<p>missing lang when work with redmine-0.9-stable (svn: 3334)</p>
<p>translation missing: zh, label_importer<br />
translation missing: zh, label_issue_importer<br />
&#8230;..</p>
<p>redmine-importer version:<br />
<a href="http://www.martinliu.info/wp-content/uploads/2009/04/redmine_importer-031.zip" rel="nofollow">http://www.martinliu.info/wp-content/uploads/2009/04/redmine_importer-031.zip</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>来自：Christian Noack</title>
		<link>http://www.martinliu.info/2009/04/redmine_importer-redmine-csv-import-plugin/comment-page-1/#comment-6297</link>
		<dc:creator>Christian Noack</dc:creator>
		<pubDate>Fri, 15 Jan 2010 13:22:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.martinliu.info/?p=97#comment-6297</guid>
		<description>This plugin is really good, but using it did not work for me immediately. I encountered FasterCSV parsing errors and I miss a german localization. I’m running Redmine 0.8.7.stable on Mac OS X with Apache and Phusion/Passenger and Enterprise Ruby 1.8.7.
Therefore I did the fixes (binmode) mentioned above and added German localization. You can find the resulting plugin here:
http://github.com/chnoack/Redmine-Importer-Fixes</description>
		<content:encoded><![CDATA[<p>This plugin is really good, but using it did not work for me immediately. I encountered FasterCSV parsing errors and I miss a german localization. I’m running Redmine 0.8.7.stable on Mac OS X with Apache and Phusion/Passenger and Enterprise Ruby 1.8.7.<br />
Therefore I did the fixes (binmode) mentioned above and added German localization. You can find the resulting plugin here:<br />
<a href="http://github.com/chnoack/Redmine-Importer-Fixes" rel="nofollow">http://github.com/chnoack/Redmine-Importer-Fixes</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>来自：iza</title>
		<link>http://www.martinliu.info/2009/04/redmine_importer-redmine-csv-import-plugin/comment-page-1/#comment-6284</link>
		<dc:creator>iza</dc:creator>
		<pubDate>Wed, 13 Jan 2010 07:09:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.martinliu.info/?p=97#comment-6284</guid>
		<description>hi martin,

i&#039;m stuck with below error, pls help


ActionView::TemplateError (undefined method `-&#039; for nil:NilClass) on line #6 of importer/result.html.erb:
3: 
4: 
5: 
6: 
7: 
8: 
9: :</description>
		<content:encoded><![CDATA[<p>hi martin,</p>
<p>i&#8217;m stuck with below error, pls help</p>
<p>ActionView::TemplateError (undefined method `-&#8217; for nil:NilClass) on line #6 of importer/result.html.erb:<br />
3:<br />
4:<br />
5:<br />
6:<br />
7:<br />
8:<br />
9: :</p>
]]></content:encoded>
	</item>
	<item>
		<title>来自：Hubert Bakker</title>
		<link>http://www.martinliu.info/2009/04/redmine_importer-redmine-csv-import-plugin/comment-page-1/#comment-5895</link>
		<dc:creator>Hubert Bakker</dc:creator>
		<pubDate>Thu, 08 Oct 2009 08:56:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.martinliu.info/?p=97#comment-5895</guid>
		<description>Thanks for your plugin. I used it to import the issues from one Redmine implementation to another.
I finally got everything over.
Here are a couple of tips to ensure that the ID&#039;s match between the two repositories. 
Assumptions:
- the target database is a mysql database.
- there are no other projects in the target Redmine implementation

1. When you export the issues, make sure that the issues are in ascending order.
2.  Massage the export file to fill the gaps of deleted issues
3. Set up the target implementation exactly like the source implementation.
4. Delete any issues in the target database using the &#039;delete from issues&#039; command.
5. Ensure that the issues auto-increment numbering is reset using the &#039;alter table issues auto_increment = 1&#039; command</description>
		<content:encoded><![CDATA[<p>Thanks for your plugin. I used it to import the issues from one Redmine implementation to another.<br />
I finally got everything over.<br />
Here are a couple of tips to ensure that the ID&#8217;s match between the two repositories.<br />
Assumptions:<br />
- the target database is a mysql database.<br />
- there are no other projects in the target Redmine implementation</p>
<p>1. When you export the issues, make sure that the issues are in ascending order.<br />
2.  Massage the export file to fill the gaps of deleted issues<br />
3. Set up the target implementation exactly like the source implementation.<br />
4. Delete any issues in the target database using the &#8216;delete from issues&#8217; command.<br />
5. Ensure that the issues auto-increment numbering is reset using the &#8216;alter table issues auto_increment = 1&#8242; command</p>
]]></content:encoded>
	</item>
</channel>
</rss>
