<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>tap-server/views/tap/controllers/schema/_configs.erb</filename>
    </added>
    <added>
      <filename>tap-server/views/tap/controllers/schema/join.erb</filename>
    </added>
    <added>
      <filename>tap-server/views/tap/controllers/schema/task.erb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -5,5 +5,6 @@ backup
 tap-server/log
 tap-server/schema
 tap-server/data
+tap-server/dataset
 tap-server/session.yml
 *~</diff>
      <filename>.gitignore</filename>
    </modified>
    <modified>
      <diff>@@ -1 +1 @@
-Subproject commit 72d821580256bf5c006d03d0e09280b1dd90c471
+Subproject commit acbfa368ee49664e3830589ecaace4cc7a244130</diff>
      <filename>configurable</filename>
    </modified>
    <modified>
      <diff>@@ -3,38 +3,45 @@ module Tap
     
     # ::task
     class Echo &lt; Tap::Task
-      config :key, 'default', :short =&gt; 'k' # a simple config with short
-      config :flag, false, &amp;c.flag # a flag config
-      config :falseswitch, false, &amp;c.switch # a --[no-]switch config
-      config :trueswitch, true, &amp;c.switch # a --[no-]switch config
-      config :num, 10, &amp;c.integer # integer only
-      config :range, 1..10, &amp;c.range # range only
+      config :key, 'default'       # a basic config
+      
+      config :flag_false, false, &amp;c.flag # a flag config (false)
+      config :flag_true, true, &amp;c.flag   # a flag config (true)
+      
+      config :switch_false, false, &amp;c.switch # a switch config (false)
+      config :switch_true, true, &amp;c.switch   # a switch config (true)
+      
+      config :string, &quot;string&quot;, &amp;c.string    # string
+      config :sym, :sym, &amp;c.symbol           # sym
+      config :integer, 10, &amp;c.integer        # integer
+      config :numeric, 10, &amp;c.numeric        # numeric
+      config :float, 10, &amp;c.float            # float
+      
+      config :string_or_nil, nil, &amp;c.string_or_nil   # string_or_nil (nil)
+      config :sym_or_nil, nil, &amp;c.symbol_or_nil      # symbol_or_nil (nil)
+      config :integer_or_nil, nil, &amp;c.integer_or_nil # integer_or_nil (nil)
+      config :number_or_nil, nil, &amp;c.numeric_or_nil  # number_or_nil (nil)
+      config :float_or_nil, nil, &amp;c.float_or_nil     # float_or_nil (nil)
+      
+      config :range, 1..10, &amp;c.range   # range
       config :array, [1,2,3], &amp;c.array # array
+      config :hash, {}, &amp;c.hash        # hash
+      config :regexp, /abc/, &amp;c.regexp # regexp
       config :select, 3, &amp;c.select(12,3, &amp;c.integer) # list
-      #config :list_select, [3], &amp;c.list_select(1,4,12,3, &amp;c.integer) # list
-      config :hash, {}, &amp;c.hash # hash
-     # config :regexp, /abc/, &amp;c.regexp # regexp
-      config :output, $stdout, &amp;c.io # regexp
-      nest :nest do # desc
-        config :key, 'default', :short =&gt; 'k' # a simple config with short
-        config :flag, false, &amp;c.flag # a flag config
-        config :falseswitch, false, &amp;c.switch # a --[no-]switch config
-        nest :nest do # desc
-          config :key, 'default', :short =&gt; 'k' # a simple config with short
-          config :flag, false, &amp;c.flag # a flag config
-          config :falseswitch, false, &amp;c.switch # a --[no-]switch config
-          config :trueswitch, true, &amp;c.switch # a --[no-]switch config
-          config :num, 10, &amp;c.integer # integer only
+      config :list_select, [3], &amp;c.list_select(1,4,12,3, &amp;c.integer) # list select 
+      
+      # 
+      # 
+      # config :output, $stdout, &amp;c.io # regexp
+      
+      nest :nest do                # nest desc
+        config :a, 'default'       # a nested config (before)
+        nest :nest do              # double-nest desc
+          config :key, 'default'   # a double-nested config
         end
-        config :trueswitch, true, &amp;c.switch # a --[no-]switch config
-        config :num, 10, &amp;c.integer # integer only
-      end
-      def process(*args)
-        args = args.flatten
-        args &lt;&lt; name
-        log name, args.inspect
-        args
+        config :z, 'default'       # a nested config (after)
       end
+      
     end
   end
 end
\ No newline at end of file</diff>
      <filename>tap-server/lib/tap/tasks/echo.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,8 +1 @@
-&lt;% case value %&gt;
-&lt;% when Hash, Array %&gt;
-    &lt;textarea name=&quot;&lt;%= name %&gt;&quot;&gt;&lt;%= value.to_yaml[4..-1] %&gt;&lt;/textarea&gt;
-&lt;% when Regexp %&gt;
-    &lt;input name=&quot;&lt;%= name %&gt;&quot; type=&quot;text&quot; value=&quot;&lt;%= value.inspect %&gt;&quot; /&gt;
-&lt;% else %&gt;
-    &lt;input name=&quot;&lt;%= name %&gt;&quot; type=&quot;text&quot; value=&quot;&lt;%= value %&gt;&quot; /&gt;
-&lt;% end %&gt;
\ No newline at end of file
+&lt;input id=&quot;&lt;%= id %&gt;&quot; name=&quot;&lt;%= name %&gt;&quot; type=&quot;text&quot; value=&quot;&lt;%= escape_html(value || &quot;( #{config.default(false).inspect} )&quot;) %&gt;&quot; /&gt;
\ No newline at end of file</diff>
      <filename>tap-server/views/configurable/delegate/default.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1 +1 @@
-    &lt;input name=&quot;&lt;%= name %&gt;&quot; type=&quot;checkbox&quot; value=&quot;true&quot; &lt;%= value ? 'checked=&quot;true&quot;' : '' %&gt; /&gt;
\ No newline at end of file
+&lt;input id=&quot;&lt;%= id %&gt;&quot; name=&quot;&lt;%= name %&gt;&quot; type=&quot;checkbox&quot; value=&quot;true&quot; &lt;%= value || config.default ? 'checked=&quot;true&quot;' : '' %&gt; /&gt;
\ No newline at end of file</diff>
      <filename>tap-server/views/configurable/delegate/flag.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,6 @@
-&lt;% raise &quot;list select configuration is currently not supported&quot; %&gt;
-    &lt;select name=&quot;&lt;%= name %&gt;[]&quot; multiple=&quot;true&quot;&gt;
-&lt;% config[:values].each do |v| %&gt;
-      &lt;option value=&quot;&lt;%= v %&gt;&quot; &lt;%= value.include?(v) ? &quot;selected='true' &quot; : &quot;&quot;%&gt;&gt;&lt;%= v %&gt;&lt;/option&gt;
+&lt;select id=&quot;&lt;%= id %&gt;&quot; name=&quot;&lt;%= name %&gt;[]&quot; multiple=&quot;true&quot;&gt;
+&lt;% value ||= config.default %&gt;
+&lt;% (config[:options] || []).each do |option| %&gt;
+  &lt;option value=&quot;&lt;%= option %&gt;&quot; &lt;%= value.include?(option) ? &quot;selected='true' &quot; : &quot;&quot;%&gt;&gt;&lt;%= option %&gt;&lt;/option&gt;
 &lt;% end %&gt;
-    &lt;/select&gt;
\ No newline at end of file
+&lt;/select&gt;
\ No newline at end of file</diff>
      <filename>tap-server/views/configurable/delegate/list_select.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,6 @@
-    &lt;select name=&quot;&lt;%= name %&gt;&quot;&gt;
-&lt;% config[:values].each do |v| %&gt;
-      &lt;option value=&quot;&lt;%= v %&gt;&quot; &lt;%= value == v ? &quot;selected='true' &quot; : &quot;&quot;%&gt;&gt;&lt;%= v %&gt;&lt;/option&gt;
+&lt;select id=&quot;&lt;%= id %&gt;&quot; name=&quot;&lt;%= name %&gt;&quot;&gt;
+&lt;% value ||= config.default %&gt;
+&lt;% (config[:options] || []).each do |option| %&gt;
+  &lt;option value=&quot;&lt;%= option %&gt;&quot; &lt;%= value == option ? &quot;selected='true' &quot; : &quot;&quot;%&gt;&gt;&lt;%= option %&gt;&lt;/option&gt;
 &lt;% end %&gt;
-    &lt;/select&gt;
\ No newline at end of file
+&lt;/select&gt;
\ No newline at end of file</diff>
      <filename>tap-server/views/configurable/delegate/select.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1,2 +1,2 @@
-    &lt;input name=&quot;&lt;%= name %&gt;&quot; type=&quot;radio&quot; value=&quot;true&quot; &lt;%= value ? 'checked=&quot;true&quot; ' : '' %&gt;&gt;on&lt;/input&gt;
-    &lt;input name=&quot;&lt;%= name %&gt;&quot; type=&quot;radio&quot; value=&quot;false&quot; &lt;%= value ? '' : 'checked=&quot;true&quot; ' %&gt;&gt;off&lt;/input&gt;
\ No newline at end of file
+&lt;input id=&quot;&lt;%= id %&gt;&quot; name=&quot;&lt;%= name %&gt;&quot; type=&quot;radio&quot; value=&quot;true&quot;  &lt;%= value || config.default  ? 'checked=&quot;true&quot; ' : '' %&gt;&gt;on&lt;/input&gt;
+&lt;input id=&quot;&lt;%= id %&gt;&quot; name=&quot;&lt;%= name %&gt;&quot; type=&quot;radio&quot; value=&quot;false&quot; &lt;%= value || config.default ? '' : 'checked=&quot;true&quot; ' %&gt;&gt;off&lt;/input&gt;
\ No newline at end of file</diff>
      <filename>tap-server/views/configurable/delegate/switch.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,5 @@
 &lt;form id=&quot;rename_&lt;%= id %&gt;&quot; class=&quot;rename&quot; method=&quot;post&quot; action=&quot;&lt;%= uri(id) %&gt;&quot;&gt;
-  &lt;input type=&quot;input&quot; name=&quot;new_id&quot; value=&quot;&lt;%= id %&gt;&quot; /&gt;
+  &lt;input type=&quot;text&quot; name=&quot;new_id&quot; value=&quot;&lt;%= id %&gt;&quot; /&gt;
   &lt;input type=&quot;hidden&quot; name=&quot;_method&quot; value=&quot;rename&quot; /&gt;
   &lt;input type=&quot;submit&quot; value=&quot;Rename&quot; /&gt;
 &lt;/form&gt;</diff>
      <filename>tap-server/views/tap/controllers/data/_controls.erb</filename>
    </modified>
    <modified>
      <diff>@@ -2,7 +2,7 @@
   &lt;input type=&quot;hidden&quot; name=&quot;_method&quot; value=&quot;upload&quot; /&gt;
   &lt;ul&gt;
   &lt;li&gt;&lt;input type=&quot;file&quot; name=&quot;&lt;%= type %&gt;&quot; /&gt;&lt;/li&gt;
-  &lt;li&gt;&lt;input type=&quot;input&quot; name=&quot;id&quot; value=&quot;&quot; /&gt; Id (if other than file name)&lt;/li&gt;
+  &lt;li&gt;&lt;input type=&quot;text&quot; name=&quot;id&quot; value=&quot;&quot; /&gt; Id (if other than file name)&lt;/li&gt;
   &lt;/ul&gt;
   &lt;input type=&quot;submit&quot; value=&quot;Upload&quot; /&gt;
 &lt;/form&gt;
\ No newline at end of file</diff>
      <filename>tap-server/views/tap/controllers/data/_upload.erb</filename>
    </modified>
    <modified>
      <diff>@@ -83,8 +83,8 @@
       &lt;h3&gt;&lt;a href=&quot;#add_&lt;%= id %&gt;&quot;&gt;&lt;%= key %&gt;&lt;/a&gt;&lt;/h3&gt;
       
       &lt;input type=&quot;hidden&quot; name=&quot;&lt;%= name %&gt;[id]&quot; value=&quot;&lt;%= task[:id] %&gt;&quot;&gt;
-&lt;%=   class_render('config.erb', task[:class], :locals =&gt; {
-        :id =&gt; id, 
+&lt;%=   class_render('task.erb', task[:class], :locals =&gt; {
+        :id =&gt; &quot;#{id}_task_#{key}&quot;, 
         :name =&gt; name, 
         :values =&gt; task[:config]}) %&gt;
       &lt;a href=&quot;&lt;%= help_uri(:task, task) %&gt;&quot;&gt;help&lt;/a&gt;
@@ -104,8 +104,8 @@
       &lt;input type=&quot;hidden&quot; name=&quot;&lt;%= name %&gt;[1][]&quot; value=&quot;&lt;%= output %&gt;&quot;&gt;
 &lt;%    end %&gt;
       &lt;input type=&quot;hidden&quot; name=&quot;&lt;%= name %&gt;[2][id]&quot; value=&quot;&lt;%= join[:id] || 'join' %&gt;&quot;&gt;
-&lt;%=   class_render('config.erb', join[:class], :locals =&gt; {
-        :id =&gt; id, 
+&lt;%=   class_render('join.erb', join[:class], :locals =&gt; {
+        :id =&gt; &quot;#{id}_join_#{index}&quot;, 
         :name =&gt; &quot;#{name}[2]&quot;, 
         :values =&gt; join[:config]}) %&gt;
       &lt;a href=&quot;&lt;%= help_uri(:join, join) %&gt;&quot;&gt;help&lt;/a&gt;</diff>
      <filename>tap-server/views/tap/controllers/schema/schema.erb</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>tap-server/views/configurable/delegate/regexp.erb</filename>
    </removed>
    <removed>
      <filename>tap-server/views/tap/controllers/schema/config.erb</filename>
    </removed>
    <removed>
      <filename>tap-server/views/tap/controllers/schema/configurations.erb</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>5172c13225d098624e28a0aff972e6525565bd1f</id>
    </parent>
  </parents>
  <author>
    <name>Simon Chiang</name>
    <email>simon.a.chiang@gmail.com</email>
  </author>
  <url>http://github.com/bahuvrihi/tap/commit/9847133027118f99452e7a80ccafe98026169c36</url>
  <id>9847133027118f99452e7a80ccafe98026169c36</id>
  <committed-date>2009-05-14T13:41:39-07:00</committed-date>
  <authored-date>2009-05-14T13:41:39-07:00</authored-date>
  <message>work cleaning up configuration rendering</message>
  <tree>706eecb2903a6851df306627392d1a72248b4882</tree>
  <committer>
    <name>Simon Chiang</name>
    <email>simon.a.chiang@gmail.com</email>
  </committer>
</commit>
