<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>src/chrome/content/sdbizo/sdbizo_domain_meta.xul</filename>
    </added>
    <added>
      <filename>src/chrome/content/sdbizo/sdbizo_error.xul</filename>
    </added>
    <added>
      <filename>src/chrome/content/sdbizo/sdbizo_prefs.xul</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -30,7 +30,7 @@ else
     export SED_ARGS=&quot;-i&quot;
 fi
 
-export PKG_VERSION=2008.12.15
+export PKG_VERSION=2009.09.29
 export PKG_RELEASE=$(get_pkg_release)
 export PKG_NAME=sdbizo
 export BASE=$PKG_NAME-$PKG_VERSION.$PKG_RELEASE</diff>
      <filename>build.sh</filename>
    </modified>
    <modified>
      <diff>@@ -29,7 +29,7 @@ function SDB(access_key, secret_key, version) {
   var aws_access_key = access_key;
   var aws_secret_key = secret_key;
   var sdb_base_url = &quot;http://sdb.amazonaws.com&quot;;
-  var sdb_version = isEmpty(version) ? &quot;2007-11-07&quot; : version;
+  var sdb_version = isEmpty(version) ? &quot;2009-04-15&quot; : version;
   
   /****  PRIVATE FUNCTIONS ****/
   /**
@@ -370,15 +370,10 @@ function SDB(access_key, secret_key, version) {
   }
   
   /**
-   * Query - returns Set of Items that match the given query expression.
-   * @param domain (required) - the name of the domain being queried
-   * @param query_expr (required) - the expression used to query the domain
+   * Select - returns Set of Items that match the given query expression.
+   * @param select_expr (required) - the expression used to query the domain
    * @param callback (required) - the function to pass the results to
-   * @param max_items (optional) - integer limiting the number of items returned
-   * @param next_token (optional) - string used to page through results
-   * @param with_attributes (optional) - boolean specifying the results should include attributes
-   * @param attribute_names (optional) - array of names of attributes to include -- passing this 
-   *                                     automatically assumes with_attributes = true
+   * @param next_token (optional) - string used to page through results 
    * @return a JS Object with the following keys:
    *    * items - a JS Object who's keys are the item names.
    *             if with_attributes is true the values of the items JS Object are also
@@ -391,65 +386,30 @@ function SDB(access_key, secret_key, version) {
    *      * box_usage - a number that show amount of system resources used in operation
    * @throws Exception if the request failed
    */ 
-  this.query = function(domain, query_expr, callback) {
-    var action = &quot;Query&quot;;
-    var max_items, next_token, with_attributes, attribute_names = null;
-    // handle param optionality (not really a word but neither is truthiness and look at Colbert!)
-    for(var i = 3; i &lt; arguments.length; i++) {
-      var arg = arguments[i];
-      switch(typeof arg) {
-        case &quot;string&quot;: next_token = arg;break;
-        case &quot;number&quot;: max_items = arg;break;
-        case &quot;boolean&quot;: with_attributes = arg;break;
-        case &quot;object&quot;: attribute_names = arg;break;
-      }
-    }    
+  this.select = function(select_expr, callback, next_token) {
+    var action = &quot;Select&quot;;
     // validate params    
     var params = {};
-    checkArgument(!isEmpty(domain), action+&quot; requires a domain&quot;);
-    params[&quot;DomainName&quot;] = domain;
     checkArgument(typeof callback == &quot;function&quot;, action+&quot; requires a callback&quot;);
-    if(!isEmpty(max_items)) { 
-      params[&quot;MaxNumberOfItems&quot;] = max_items+&quot;&quot;; // need a string
-      checkArgument(0 &lt; params[&quot;MaxNumberOfItems&quot;] &amp;&amp; params[&quot;MaxNumberOfItems&quot;] &lt;= 250, &quot;Max items between 1 to 250&quot;);
-    }
     if(!isEmpty(next_token)) params[&quot;NextToken&quot;] = next_token; 
-    if(!isEmpty(query_expr)) params[&quot;QueryExpression&quot;] = query_expr;                                      
+    if(!isEmpty(select_expr)) params[&quot;SelectExpression&quot;] = query_expr;                                      
     
-    // check if query with attributes
-    if((!isEmpty(with_attributes) &amp;&amp; with_attributes) || (!isEmpty(attribute_names))) {
-      action = &quot;QueryWithAttributes&quot;;
-      if(!isEmpty(attribute_names)) {
-        for(var i = 0; i &lt; attribute_names.length; i++) {
-          params[&quot;AttributeName.&quot;+(i+1)] = attribute_names[i];
-        }
-      }
-    }
-
     // use jquery to make request    
     ajaxRequest(buildRequestUrl(action, params), function(result, data) {    
       if(result.error != null) callback(result);// just return the error
       var items = [];
-      if(action == &quot;Query&quot;) {
-        $(&quot;ItemName&quot;, data).each(function(i) {
-          items.push({name:$(this).text()}) ;
+      $(&quot;Item&quot;, data).each(function(i) {
+        var item = {attrs:{},name:$(&quot;Name:first&quot;, $(this)).text()};
+        $(&quot;Attribute&quot;, $(this)).each(function(i) {
+          var name = $(&quot;Name&quot;, $(this)).text();
+          var val  = $(&quot;Value&quot;, $(this)).text();
+          if(item.attrs[name] == null) {
+            item.attrs[name] = [];
+          }
+          item.attrs[name].push(val);
         });
-      } 
-      // query with attrs
-      else {
-        $(&quot;Item&quot;, data).each(function(i) {
-          var item = {attrs:{},name:$(&quot;Name:first&quot;, $(this)).text()};
-          $(&quot;Attribute&quot;, $(this)).each(function(i) {
-            var name = $(&quot;Name&quot;, $(this)).text();
-            var val  = $(&quot;Value&quot;, $(this)).text();
-            if(item.attrs[name] == null) {
-              item.attrs[name] = [];
-            }
-            item.attrs[name].push(val);
-          });
-          items.push(item);
-        });
-      }
+        items.push(item);
+      });
       result.items = items;
       result.next_token = $(&quot;NextToken&quot;, data).text();
       callback(result);</diff>
      <filename>src/chrome/content/sdbizo/js/aws_sdb.js</filename>
    </modified>
    <modified>
      <diff>@@ -55,7 +55,6 @@ var unlock_ui = function() {
   $('.loader').attr('hidden', true);
   $('button').attr('disabled', false);
   // keep the same state for some buttons
-  $('#sdb_pref_save_button').attr('disabled', saveButtonDisabled);
   $('#sdb_domains_delete_button').attr('disabled', $('#sdb_pref_show_domain_delete:checked').length == 0);
   $('#sdb_results_next_button').attr('disabled', query_next == null || query_next.length == 0);
 }
@@ -87,45 +86,30 @@ var closeError = function() {
   }
 }
 
-
 var ensureDomainSelected = function(cur_index, error_msg) {
   if(cur_index == -1) {prompts.alert(window, &quot;Warning&quot;, error_msg);}
   return cur_index;
 }
 
-
 var domainSelected = function(element) {  
   var selection = document.getElementById('sdb_domain_tree').currentIndex;
   if(selection == -1) return;
   $('.domainList').val(domains_tree_view.domains[selection]);
 }
 
-
-var savePrefs = function() {
-  sdbizo.aws_access_key = $('#sdb_pref_access_key').val();
-  sdbizo.aws_secret_key = $('#sdb_pref_secret_key').val();
-  sdbizo.show_delete_domain_button = $('#sdb_pref_show_domain_delete:checked').length == 1;
+var resetPrefs = function() {
+  sdbizo = new Sdbizo();
   sdb = new SDB(sdbizo.aws_access_key, sdbizo.aws_secret_key);
-  sdbizo.savePrefs();
-  $('#sdb_pref_save_button').attr('disabled', true);
-  saveButtonDisabled = true;
-}
-
-var saveButtonDisabled = true;
-var enableSaveButton = function() {
-  $('#sdb_pref_save_button').attr('disabled', false);
-  saveButtonDisabled = false;
+  return true;
 }
 
 var toggleDeleteButton = function() {
-  enableSaveButton();
   $('#sdb_domains_delete_button').attr('disabled', $('#sdb_pref_show_domain_delete:checked').length != 1);
   $('#sdb_domains_contextmenu_delete').attr('disabled', $('#sdb_pref_show_domain_delete:checked').length != 1);
 }
 
 
 var sdbizoLoad = function() {
-  window.sizeToContent();
   $('#sdb_pref_access_key').val(sdbizo.aws_access_key);
   $('#sdb_pref_secret_key').val(sdbizo.aws_secret_key);
   $('#sdb_pref_show_domain_delete').attr('checked', sdbizo.show_delete_domain_button);
@@ -227,30 +211,22 @@ var query_max  = null;
 var query_expr = null;
 var query_wa   = null;
 
-var queryDomain = new SdbizoAction('queryDomain', function() {
+var runSelect = new SdbizoAction('runSelect', function() {
   var action = this.action; 
-  var cur_index = document.getElementById('sdb_query_domain').selectedIndex;
-  var selection = ensureDomainSelected(cur_index, &quot;Please select a domain first&quot;);
-  if(selection &lt; 0) return;
-  
-  var domain_name = document.getElementById('sdb_query_domain').selectedItem.value;      
+        
   var expr = $('#sdb_query_domain_expression').val();
-  var max_items = parseInt($('#sdb_query_domain_max_items').val());
-  var with_attributes = $('#sdb_checkbox_query_with_attributes:checked').length == 1;   
   
   // reset next token
-  if(expr != query_expr || max_items != query_max || with_attributes != query_wa) {
+  if(expr != query_expr) {
     query_next = null;
   }    
   query_expr = expr;
-  query_max  = max_items;
-  query_wa   = with_attributes;
   
   lock_ui();  
-  sdb.query(domain_name, expr, function(results) {
+  sdb.select(expr, function(results) {
     try {
       if(results.error) { handleError(this.action, results); return;}
-      results_tree_view.setResults(itemsToResults(domain_name, results));
+      results_tree_view.setResults(itemsToResults(&quot;Domain&quot;, results));
       query_next = results.next_token;
       $('#sdb_results_next_button').attr('disabled', query_next.length == 0);
     }
@@ -258,7 +234,7 @@ var queryDomain = new SdbizoAction('queryDomain', function() {
     finally {
       unlock_ui();
     }  
-  }, max_items, with_attributes, query_next);
+  }, query_next);
   
 });
 
@@ -352,59 +328,30 @@ var getAttributes = function(domain_name, item_name, names) {
   });  
 }
 
-var domainMetadata = {};
 var loadDomainMetadata = new SdbizoAction('loadDomainMetadata', function() {
   var action = this.action; 
-  var cur_index = document.getElementById('sdb_domain_metadata_domain').selectedIndex;
+  var cur_index = document.getElementById('sdb_domain_tree').currentIndex;
   var selection = ensureDomainSelected(cur_index, &quot;Please select a domain first&quot;);
   if(selection &lt; 0) return;
   
-  var unit_label = function() {
-    if($('#sdb_domain_metadata_show_bytes_in_gb:checked').length == 1) {
-      return 'GB';
-    }
-    return 'bytes';
-  }
-  
-  var unit_size = function(bytes) {
-    if($('#sdb_domain_metadata_show_bytes_in_gb:checked').length == 1) {
-      return bytes_to_gb(bytes);
-    }
-    return bytes;
-  }
-  
-  var setDomainMetadata = function() {
-    $('#sdb_domain_metadata_item_count').val(domainMetadata.item_count);
-    $('#sdb_domain_metadata_item_names_size_bytes').val(unit_size(domainMetadata.item_names_size_bytes));
-    $('#sdb_domain_metadata_item_names_size_bytes_units').val(unit_label());
-    $('#sdb_domain_metadata_attribute_name_count').value = domainMetadata.attribute_name_count;
-    $('#sdb_domain_metadata_attribute_names_size_bytes').val(unit_size(domainMetadata.attribute_names_size_bytes));
-    $('#sdb_domain_metadata_attribute_names_size_bytes_units').val(unit_label());
-    $('#sdb_domain_metadata_attribute_value_count').value = domainMetadata.attribute_value_count;
-    $('#sdb_domain_metadata_attribute_values_size_bytes').val(unit_size(domainMetadata.attribute_values_size_bytes));
-    $('#sdb_domain_metadata_attribute_values_size_bytes_units').val(unit_label());
-    var date = new Date();
-    date.setTime(domainMetadata.timestamp*1000); // add extra digits
-    $('#sdb_domain_metadata_updated_at').val(date.toString());
+  var setDomainMetadata = function(domain, domainMetadata) {
+    window.openDialog(&quot;chrome://sdbizo/content/sdbizo_domain_meta.xul&quot;, &quot;sdbizo_domain_meta&quot;, &quot;chrome&quot;, {domain:domain, domainMetadata:domainMetadata})    
   }
   
   if(arguments.length == 0 || !arguments[0] || domainMetadata.timestamp == null) {   
-    var domain_name = document.getElementById('sdb_domain_metadata_domain').selectedItem.value;   
+    var domain_name = domains_tree_view.domains[selection];   
     lock_ui();
     sdb.domainMetadata(domain_name, function(results) {
       try {
         if(results.error) { handleError(this.action, results); return;}
         domainMetadata = results;          
-        setDomainMetadata();
+        setDomainMetadata(domain_name, domainMetadata);
       }
       catch(ex) {handleException(this.action, ex);}
       finally {
         unlock_ui();
       }  
     });
-  }
-  else {
-    setDomainMetadata();
   }      
   
 });
@@ -541,12 +488,15 @@ var deleteAttributes = function(domain_name, item_name, attributes) {
   });  
 }
 
+var showPrefs = new SdbizoAction('showPrefs', function()  {
+  window.openDialog(&quot;chrome://sdbizo/content/sdbizo_prefs.xul&quot;, &quot;sdbizo_prefs&quot;, &quot;chrome&quot;, resetPrefs);
+});
 
 
 // add actions to controller
 SdbizoController.addAction(reloadDomains);
 SdbizoController.addAction(loadDomainMetadata);
-SdbizoController.addAction(queryDomain);
+SdbizoController.addAction(runSelect);
 SdbizoController.addAction(confirmDeleteDomain);
 SdbizoController.addAction(createDomain);
 SdbizoController.addAction(getAttributesPrompt);
@@ -555,3 +505,4 @@ SdbizoController.addAction(deleteAttributePrompt);
 SdbizoController.addAction(deleteAttributeValuePrompt);
 SdbizoController.addAction(putAttributes);
 SdbizoController.addAction(showAbout);
+SdbizoController.addAction(showPrefs);</diff>
      <filename>src/chrome/content/sdbizo/js/sdbizo_control.js</filename>
    </modified>
    <modified>
      <diff>@@ -21,8 +21,7 @@
  --&gt;
 
 &lt;window id=&quot;sdbizo_window&quot; xmlns=&quot;http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul&quot;
-  xmlns:html=&quot;http://www.w3.org/1999/xhtml&quot; width=&quot;800&quot; height=&quot;600&quot; title=&quot;SDB Tool&quot; 
-  persist=&quot;width height screenX screenY sizemode&quot; 
+  xmlns:html=&quot;http://www.w3.org/1999/xhtml&quot; title=&quot;SDB Tool&quot; 
   resizeable=&quot;true&quot; scrollbars=&quot;true&quot;
   hidechrome=&quot;false&quot;
   onload=&quot;sdbizoLoad();&quot;&gt;
@@ -47,6 +46,7 @@
        &lt;hbox minwidth=&quot;16px&quot;&gt;&lt;image class=&quot;loader&quot; id=&quot;sdb_loader&quot; src=&quot;images/ajax-loader.gif&quot; hidden=&quot;true&quot;/&gt;&lt;/hbox&gt;
        &lt;label style=&quot;font-size:20px&quot;&gt;Simple DB Tool&lt;/label&gt;
        &lt;button label=&quot;About&quot; oncommand=&quot;SdbizoController.execute('showAbout');&quot;/&gt;
+       &lt;button label=&quot;Config&quot; oncommand=&quot;SdbizoController.execute('showPrefs');&quot;/&gt;
      &lt;/hbox&gt;
   
      &lt;!-- main body --&gt;
@@ -57,68 +57,26 @@
          &lt;vbox flex=&quot;1&quot;&gt;
            &lt;groupbox&gt;
              &lt;caption&gt;
-               &lt;label value=&quot;Query&quot; style=&quot;font-weight:bold;&quot;/&gt;
+               &lt;label value=&quot;Select&quot; style=&quot;font-weight:bold;&quot;/&gt;
              &lt;/caption&gt;
              &lt;grid&gt;
                &lt;columns&gt;
                  &lt;column/&gt;
                  &lt;column/&gt;
                &lt;/columns&gt;
-               &lt;rows&gt;
+               &lt;rows&gt;                 
                  &lt;row&gt;
-                   &lt;label value=&quot;Query Domain&quot;/&gt;
-                   &lt;menulist class=&quot;domainList&quot; id=&quot;sdb_query_domain&quot; label=&quot;[Select Domain]&quot;&gt;
-                     &lt;menupopup&gt;&lt;/menupopup&gt;
-                   &lt;/menulist&gt;
+                   &lt;vbox&gt;
+                     &lt;label value=&quot;Select Expression&quot;/&gt;
+                     &lt;textbox id=&quot;sdb_query_domain_expression&quot; cols=&quot;50&quot; row=&quot;6&quot; multiline=&quot;true&quot; emptytext=&quot;e.g. select output_list from domain_name [where expression] [sort_instructions] [limit limit]&quot; style=&quot;font-family:monospace;overflow:auto;&quot;/&gt;
+                     &lt;label value=&quot;Documentation&quot; href=&quot;http://docs.amazonwebservices.com/AmazonSimpleDB/2009-04-15/DeveloperGuide/index.html?UsingSelect.html&quot; class=&quot;text-link&quot;/&gt;
+                   &lt;/vbox&gt;
                  &lt;/row&gt;
-                 &lt;row&gt;
-                   &lt;spacer/&gt;
-                   &lt;hbox align=&quot;center&quot;&gt;
-                     &lt;checkbox id=&quot;sdb_checkbox_query_with_attributes&quot; label=&quot;with attributes&quot;/&gt;
-                     &lt;spacer flex=&quot;1&quot;/&gt;
-                     &lt;label value=&quot;page size&quot; /&gt;
-                     &lt;textbox id=&quot;sdb_query_domain_max_items&quot; type=&quot;number&quot; min=&quot;1&quot; max=&quot;1024&quot; size=&quot;3&quot; value=&quot;100&quot;/&gt;
-                   &lt;/hbox&gt;
-                 &lt;/row&gt;
-                 &lt;row&gt;
-                   &lt;label value=&quot;Query Expression&quot;/&gt;
-                   &lt;textbox id=&quot;sdb_query_domain_expression&quot; cols=&quot;35&quot; multiline=&quot;true&quot;  style=&quot;overflow:auto&quot;/&gt;
-                 &lt;/row&gt;
-                 &lt;row&gt;&lt;spacer/&gt;&lt;label value=&quot;e.g. ['attribute_name'='attibute_value']&quot;/&gt;&lt;/row&gt;
                &lt;/rows&gt;
              &lt;/grid&gt;
-             
-             &lt;separator/&gt;
-             &lt;hbox aligh=&quot;left&quot;&gt;&lt;spacer flex=&quot;1&quot;/&gt;&lt;button label=&quot;Run Query&quot; oncommand=&quot;SdbizoController.execute('queryDomain');&quot;/&gt;&lt;/hbox&gt;
 
-             &lt;vbox&gt;
-               &lt;caption style=&quot;font-weight:bold;&quot;&gt;Reference&lt;/caption&gt;
-               &lt;splitter style=&quot;background-color:#DDD; border:1px #CCC solid;&quot; collapse=&quot;after&quot; state=&quot;collapsed&quot; persist=&quot;state&quot;&gt;
-                 &lt;grippy/&gt;
-               &lt;/splitter&gt;
-               &lt;groupbox&gt;
-                 &lt;grid id=&quot;sdb_reference_box&quot; &gt;
-                   &lt;columns&gt;
-                     &lt;column/&gt;
-                     &lt;column width=&quot;240px&quot;/&gt;
-                   &lt;/columns&gt;
-                   &lt;rows&gt;
-                     &lt;row&gt;&lt;label&gt;=&lt;/label&gt;&lt;description&gt;Attribute value equals the specified constant (['city' = 'Seattle'], ['city' = 'Seattle' or 'city' = 'Portland&#8217;])&lt;/description&gt;&lt;/row&gt;
-                     &lt;row&gt;&lt;label&gt;!=&lt;/label&gt;&lt;description&gt;Attribute value does not equal the specified constant (['name' != 'Al'], ['name' != 'Al' and 'name' != 'Bob']) &lt;/description&gt;&lt;/row&gt;
-                     &lt;row&gt;&lt;label&gt;&amp;gt;&lt;/label&gt;&lt;description&gt;Attribute value is greater than the specified constant (['weight' &amp;gt; '0034']) &lt;/description&gt;&lt;/row&gt;
-                     &lt;row&gt;&lt;label&gt;&amp;gt;=&lt;/label&gt;&lt;description&gt;Attribute value is greater than or equal to the specified constant ('weight' &amp;gt;= '065']) &lt;/description&gt;&lt;/row&gt;
-                     &lt;row&gt;&lt;label&gt;&amp;lt;&lt;/label&gt;&lt;description&gt;Attribute value is less than the specified constant (['weight' &amp;lt; '0034']) &lt;/description&gt;&lt;/row&gt;
-                     &lt;row&gt;&lt;label&gt;&amp;lt;=&lt;/label&gt;&lt;description&gt;Attribute value is less than or equal to the specified constant (['year' &amp;lt;= '2000']) &lt;/description&gt;&lt;/row&gt;
-                     &lt;row&gt;&lt;label&gt;starts&#8208;with &lt;/label&gt;&lt;description&gt;Attribute value starts with the specified constant (['author' starts&#8208;with 'Robert']) &lt;/description&gt;&lt;/row&gt;
-                     &lt;row&gt;&lt;label&gt;does&#8208;not&#8208;start-with&lt;/label&gt;&lt;description&gt;Attribute value does not start with the specified constant (['author' does&#8208;not&#8208;start&#8208;with 'Henry']) &lt;/description&gt;&lt;/row&gt;
-                     &lt;row&gt;&lt;label&gt;intersection&lt;/label&gt;&lt;description&gt;Determine the intersection of ItemName sets (['first name' = 'John'] intersection ['last name' = 'Smith']) &lt;/description&gt;&lt;/row&gt;
-                     &lt;row&gt;&lt;label&gt;union&lt;/label&gt;&lt;description&gt;Determine the union of ItemName sets (['tag' starts&#8208;with 'Amazon'] union ['description' = 'SimpleDB']) &lt;/description&gt;&lt;/row&gt;
-                     &lt;row&gt;&lt;label&gt;not&lt;/label&gt;&lt;description&gt;Determine the complement of ItemName set and all the items in the domain (not ['country' = 'USA' or 'country' = 'UK']) &lt;/description&gt;&lt;/row&gt;
-                     &lt;row&gt;&lt;label&gt;sort&lt;/label&gt;&lt;description&gt;Sorts the results in ascending (default) or descending order (['year' &amp;lt;= '2000'] sort &#8216;year&#8217; desc).&lt;/description&gt;&lt;/row&gt;
-                   &lt;/rows&gt;
-                 &lt;/grid&gt;
-               &lt;/groupbox&gt;
-             &lt;/vbox&gt;
+             &lt;hbox aligh=&quot;left&quot;&gt;&lt;spacer flex=&quot;1&quot;/&gt;&lt;button label=&quot;Run Select&quot; oncommand=&quot;SdbizoController.execute('runSelect');&quot;/&gt;&lt;/hbox&gt;
+
            &lt;/groupbox&gt;
       
             &lt;groupbox&gt;
@@ -131,6 +89,7 @@
               &lt;popupset&gt;
                 &lt;popup id=&quot;sdb_domains_contextmenu&quot;&gt;        
                   &lt;menuitem id=&quot;sdb_domains_contextmenu_delete&quot; oncommand=&quot;SdbizoController.execute('confirmDeleteDomain');&quot; label=&quot;Delete this domain...&quot; /&gt;
+                  &lt;menuitem oncommand=&quot;SdbizoController.execute('loadDomainMetadata');&quot; label=&quot;Show Metadata&quot; /&gt;
                   &lt;menuitem oncommand=&quot;SdbizoController.execute('reloadDomains');&quot; label=&quot;Reload Domains&quot; /&gt;
                 &lt;/popup&gt;
               &lt;/popupset&gt;
@@ -145,6 +104,7 @@
             
               &lt;hbox id=&quot;sdb_domains_reload_delete_controls&quot;&gt;
                 &lt;button id=&quot;sdb_domains_reload_button&quot; label=&quot;Reload Domains&quot; oncommand=&quot;SdbizoController.execute('reloadDomains');&quot;/&gt;&lt;spacer flex=&quot;1&quot;/&gt;
+                &lt;button id=&quot;sdb_domains_meta_button&quot; label=&quot;Show Metadata&quot; oncommand=&quot;SdbizoController.execute('loadDomainMetadata');&quot;/&gt;&lt;spacer flex=&quot;1&quot;/&gt;
                 &lt;button id=&quot;sdb_domains_delete_button&quot; label=&quot;Delete Domain...&quot; oncommand=&quot;SdbizoController.execute('confirmDeleteDomain');&quot;/&gt;
               &lt;/hbox&gt;
         
@@ -158,6 +118,15 @@
           
             &lt;/groupbox&gt;
       
+            &lt;groupbox&gt;
+              &lt;caption&gt;
+                &lt;label value=&quot;Log&quot; style=&quot;font-weight:bold;&quot;/&gt;
+              &lt;/caption&gt;
+              &lt;splitter id=&quot;sdb_log_splitter&quot; style=&quot;background-color:#DDD; border:1px #CCC solid;&quot; collapse=&quot;after&quot; state=&quot;collapsed&quot; persist=&quot;state&quot;&gt;
+                &lt;grippy id=&quot;sdb_log_grippy&quot;/&gt;
+              &lt;/splitter&gt;
+              &lt;textbox  multiline=&quot;true&quot; readonly=&quot;true&quot; id=&quot;sdb_log&quot; rows=&quot;10&quot; style=&quot;overflow:auto&quot;/&gt;
+            &lt;/groupbox&gt;     
       
             &lt;/vbox&gt;            
           &lt;/vbox&gt;&lt;!-- end left column --&gt;  
@@ -199,126 +168,41 @@
                 &lt;spacer flex=&quot;1&quot; /&gt;
                 &lt;button id=&quot;sdb_results_next_button&quot; label=&quot;Next Results&quot; oncommand=&quot;SdbizoController.execute('queryDomain');&quot; disabled=&quot;true&quot;/&gt;
               &lt;/hbox&gt;
-              &lt;hbox id=&quot;sdb_results_get_put_controls&quot; align=&quot;center&quot; minwidth=&quot;400px&quot;&gt;
-                &lt;groupbox align=&quot;start&quot;&gt;
-                  &lt;caption&gt;Add/Replace Attributes&lt;/caption&gt;
-                  &lt;grid&gt;
-                    &lt;columns&gt;
-                      &lt;column/&gt;
-                    &lt;/columns&gt;
-                    &lt;rows align=&quot;start&quot;&gt;
-                      &lt;row align=&quot;center&quot;&gt;
-                        &lt;label value=&quot;Domain&quot;/&gt;
-                        &lt;menulist class=&quot;domainList&quot; id=&quot;sdb_put_attribute_domain&quot; label=&quot;[Select Domain]&quot;&gt;
-                          &lt;menupopup&gt;&lt;/menupopup&gt;
-                        &lt;/menulist&gt;
-                      &lt;/row&gt;
-                      &lt;row align=&quot;center&quot;&gt;&lt;label value=&quot;Item&quot;/&gt;&lt;textbox id=&quot;sdb_results_put_attribute_item&quot; /&gt;&lt;/row&gt;
-                      &lt;row align=&quot;center&quot;&gt;&lt;label value=&quot;Name&quot;/&gt;&lt;textbox id=&quot;sdb_results_put_attribute_name&quot;/&gt;&lt;/row&gt;
-                      &lt;row&gt;&lt;label value=&quot;Values&quot;/&gt;&lt;textbox id=&quot;sdb_results_put_attribute_values&quot; style=&quot;overflow:auto&quot; multiline=&quot;true&quot; cols=&quot;40&quot; emptytext=&quot;[one value per line]&quot;/&gt;&lt;/row&gt;
-                      &lt;row&gt;&lt;spacer flex=&quot;1&quot;/&gt;&lt;checkbox id=&quot;sdb_results_put_attribute_replace&quot; label=&quot;replace existing values&quot;/&gt;&lt;/row&gt;
-                      &lt;row&gt;&lt;spacer/&gt;&lt;spacer/&gt;&lt;/row&gt;
-                      &lt;row&gt;&lt;spacer flex=&quot;1&quot;/&gt;&lt;hbox pack=&quot;end&quot;&gt;&lt;button id=&quot;sdb_results_put_attributes_button&quot; label=&quot;Put Attributes&quot; oncommand=&quot;SdbizoController.execute('putAttributes');&quot;/&gt;&lt;/hbox&gt;&lt;/row&gt;
-                    &lt;/rows&gt;
-                  &lt;/grid&gt;
-                  &lt;separator/&gt;
+              
+            &lt;/groupbox&gt;
+            
+            &lt;hbox id=&quot;sdb_results_get_put_controls&quot; align=&quot;center&quot; minwidth=&quot;400px&quot;&gt;
+              &lt;groupbox align=&quot;start&quot;&gt;
+                &lt;caption&gt;Add/Replace Attributes&lt;/caption&gt;
+                &lt;grid&gt;
+                  &lt;columns&gt;
+                    &lt;column/&gt;
+                  &lt;/columns&gt;
+                  &lt;rows align=&quot;start&quot;&gt;
+                    &lt;row align=&quot;center&quot;&gt;
+                      &lt;label value=&quot;Domain&quot;/&gt;
+                      &lt;menulist class=&quot;domainList&quot; id=&quot;sdb_put_attribute_domain&quot; label=&quot;[Select Domain]&quot;&gt;
+                        &lt;menupopup&gt;&lt;/menupopup&gt;
+                      &lt;/menulist&gt;
+                    &lt;/row&gt;
+                    &lt;row align=&quot;center&quot;&gt;&lt;label value=&quot;Item&quot;/&gt;&lt;textbox id=&quot;sdb_results_put_attribute_item&quot; /&gt;&lt;/row&gt;
+                    &lt;row align=&quot;center&quot;&gt;&lt;label value=&quot;Name&quot;/&gt;&lt;textbox id=&quot;sdb_results_put_attribute_name&quot;/&gt;&lt;/row&gt;
+                    &lt;row&gt;&lt;label value=&quot;Values&quot;/&gt;&lt;textbox id=&quot;sdb_results_put_attribute_values&quot; style=&quot;overflow:auto&quot; multiline=&quot;true&quot; cols=&quot;40&quot; emptytext=&quot;[one value per line]&quot;/&gt;&lt;/row&gt;
+                    &lt;row&gt;&lt;spacer flex=&quot;1&quot;/&gt;&lt;checkbox id=&quot;sdb_results_put_attribute_replace&quot; label=&quot;replace existing values&quot;/&gt;&lt;/row&gt;
+                    &lt;row&gt;&lt;spacer/&gt;&lt;spacer/&gt;&lt;/row&gt;
+                    &lt;row&gt;&lt;spacer flex=&quot;1&quot;/&gt;&lt;hbox pack=&quot;end&quot;&gt;&lt;button id=&quot;sdb_results_put_attributes_button&quot; label=&quot;Put Attributes&quot; oncommand=&quot;SdbizoController.execute('putAttributes');&quot;/&gt;&lt;/hbox&gt;&lt;/row&gt;
+                  &lt;/rows&gt;
+                &lt;/grid&gt;
+                &lt;separator/&gt;
         
-                &lt;/groupbox&gt;
                 &lt;spacer flex=&quot;1&quot;/&gt;
-                
-              &lt;/hbox&gt;
-            &lt;/groupbox&gt;
+              &lt;/groupbox&gt;
+            &lt;/hbox&gt;
+
       
           &lt;/vbox&gt;
-          &lt;!--  end middle column --&gt;
-    
-          &lt;splitter /&gt;
-         
-          &lt;!-- right column --&gt;
-          &lt;vbox flex=&quot;1&quot;&gt;
-            &lt;hbox flex=&quot;1&quot; &gt;         
-              &lt;vbox style=&quot;border-right:1px solid #999;&quot; &gt;
-               &lt;spacer flex=&quot;1&quot;/&gt;
-               &lt;vbox  style=&quot;border:1px solid #999;&quot;&gt;
-                 &lt;label value=&quot;m&quot; class=&quot;monospace&quot;/&gt;
-                 &lt;label value=&quot;e&quot; class=&quot;monospace&quot;/&gt;
-                 &lt;label value=&quot;t&quot; class=&quot;monospace&quot;/&gt;
-                 &lt;label value=&quot;a&quot; class=&quot;monospace&quot;/&gt;
-               &lt;/vbox&gt;
-               &lt;spacer flex=&quot;1&quot;/&gt;
-             &lt;/vbox&gt;
-             
-             &lt;splitter style=&quot;background-color:#DDD; border:1px #CCC solid;&quot; collapse=&quot;after&quot; persist=&quot;state&quot;&gt;
-               &lt;spacer flex=&quot;1&quot;/&gt;
-               &lt;grippy flex=&quot;1&quot;/&gt;
-             &lt;/splitter&gt;
-
-             &lt;vbox id=&quot;sdb_prefs_box&quot;&gt;
-               &lt;groupbox&gt;
-                 &lt;caption&gt;&lt;label style=&quot;font-weight:bold&quot;&gt;Domain Metadata&lt;/label&gt;&lt;/caption&gt;
-                 &lt;grid&gt;
-                   &lt;columns&gt;
-                     &lt;column/&gt;
-                     &lt;column/&gt;
-                   &lt;/columns&gt;
-                   &lt;rows&gt;        
-                     &lt;row&gt;              
-                       &lt;label value=&quot;Domain&quot;/&gt;
-                       &lt;menulist class=&quot;domainList&quot; id=&quot;sdb_domain_metadata_domain&quot; label=&quot;[Select Domain]&quot;&gt;
-                         &lt;menupopup&gt;&lt;/menupopup&gt;
-                       &lt;/menulist&gt;
-                     &lt;/row&gt;
-                     &lt;row align=&quot;center&quot;&gt;&lt;label value=&quot;Item Count&quot;/&gt;&lt;textbox id=&quot;sdb_domain_metadata_item_count&quot; hidespinbuttons=&quot;true&quot; readonly=&quot;true&quot; type=&quot;number&quot;/&gt;&lt;spacer width=&quot;50px&quot;/&gt;&lt;/row&gt;
-                     &lt;row align=&quot;center&quot;&gt;&lt;label value=&quot;Item Names Size&quot;/&gt;&lt;textbox id=&quot;sdb_domain_metadata_item_names_size_bytes&quot; decimalplaces=&quot;Infinity&quot; hidespinbuttons=&quot;true&quot; readonly=&quot;true&quot; type=&quot;number&quot;/&gt;&lt;label id=&quot;sdb_domain_metadata_item_names_size_bytes_units&quot; value=&quot;bytes&quot;/&gt;&lt;/row&gt;
-                     &lt;row align=&quot;center&quot;&gt;&lt;label value=&quot;Attribute Name Count&quot;/&gt;&lt;textbox id=&quot;sdb_domain_metadata_attribute_name_count&quot; hidespinbuttons=&quot;true&quot; readonly=&quot;true&quot; type=&quot;number&quot;/&gt;&lt;spacer/&gt;&lt;/row&gt;
-                     &lt;row align=&quot;center&quot;&gt;&lt;label value=&quot;Attribute Names Size&quot;/&gt;&lt;textbox id=&quot;sdb_domain_metadata_attribute_names_size_bytes&quot; decimalplaces=&quot;Infinity&quot; hidespinbuttons=&quot;true&quot; readonly=&quot;true&quot; type=&quot;number&quot;/&gt;&lt;label id=&quot;sdb_domain_metadata_attribute_names_size_bytes_units&quot; value=&quot;bytes&quot;/&gt;&lt;/row&gt;
-                     &lt;row align=&quot;center&quot;&gt;&lt;label value=&quot;Attribute Value Count&quot;/&gt;&lt;textbox id=&quot;sdb_domain_metadata_attribute_value_count&quot; hidespinbuttons=&quot;true&quot; readonly=&quot;true&quot; type=&quot;number&quot;/&gt;&lt;spacer/&gt;&lt;/row&gt;
-                     &lt;row align=&quot;center&quot;&gt;&lt;label value=&quot;Attribute Values Size&quot;/&gt;&lt;textbox id=&quot;sdb_domain_metadata_attribute_values_size_bytes&quot; decimalplaces=&quot;Infinity&quot; hidespinbuttons=&quot;true&quot; readonly=&quot;true&quot; type=&quot;number&quot;/&gt;&lt;label id=&quot;sdb_domain_metadata_attribute_values_size_bytes_units&quot; value=&quot;bytes&quot;/&gt;&lt;/row&gt;
-                     &lt;row&gt;&lt;spacer/&gt;&lt;checkbox id=&quot;sdb_domain_metadata_show_bytes_in_gb&quot; oncommand=&quot;SdbizoController.execute('loadDomainMetadata');&quot; label=&quot;show bytes in GB&quot;/&gt;&lt;spacer/&gt;&lt;/row&gt;
-                     &lt;row&gt;&lt;spacer/&gt;&lt;/row&gt;            
-                     &lt;row align=&quot;center&quot;&gt;&lt;label value=&quot;Metadata Last Updated at&quot;/&gt;&lt;textbox id=&quot;sdb_domain_metadata_updated_at&quot; readonly=&quot;true&quot;/&gt;&lt;spacer/&gt;&lt;/row&gt;
-                   &lt;/rows&gt;
-                 &lt;/grid&gt;
-                 &lt;separator/&gt;
-                 &lt;hbox&gt;&lt;spacer flex=&quot;1&quot; /&gt;&lt;button id=&quot;sdb_domains_load_metadata_button&quot; label=&quot;Load Domain Metadata&quot; oncommand=&quot;SdbizoController.execute('loadDomainMetadata');&quot;/&gt;&lt;/hbox&gt;
-               &lt;/groupbox&gt;    
-       
 
-               &lt;groupbox&gt;
-                 &lt;caption&gt;
-                   &lt;label value=&quot;Preferences&quot; style=&quot;font-weight:bold;&quot;/&gt;
-                 &lt;/caption&gt;
-                 &lt;grid&gt;
-                   &lt;columns&gt;
-                     &lt;column/&gt;
-                     &lt;column/&gt;
-                   &lt;/columns&gt;
-                   &lt;rows &gt;
-                     &lt;row&gt;&lt;label value=&quot;AWS Access Key&quot;/&gt;&lt;textbox id=&quot;sdb_pref_access_key&quot; emptytext=&quot;[Aws Access Key]&quot; onkeypress=&quot;enableSaveButton();&quot;/&gt;&lt;/row&gt;
-                     &lt;row&gt;&lt;label value=&quot;AWS Secret Key&quot;/&gt;&lt;textbox id=&quot;sdb_pref_secret_key&quot; emptytext=&quot;&quot; onkeypress=&quot;enableSaveButton();&quot; type=&quot;password&quot;/&gt;&lt;/row&gt;
-                     &lt;row&gt;&lt;spacer/&gt;&lt;hbox align=&quot;center&quot;&gt;&lt;checkbox id=&quot;sdb_pref_show_domain_delete&quot; label=&quot;Enable Domain Deletion&quot; oncommand=&quot;toggleDeleteButton();&quot;/&gt;&lt;spacer flex=&quot;1&quot;/&gt;&lt;/hbox&gt;&lt;/row&gt;
-                   &lt;/rows&gt;
-                 &lt;/grid&gt;
-                 &lt;separator/&gt;
-                 &lt;hbox aligh=&quot;left&quot;&gt;&lt;spacer flex=&quot;1&quot;/&gt;&lt;button id=&quot;sdb_pref_save_button&quot; label=&quot;Save&quot; oncommand=&quot;savePrefs();&quot; disabled=&quot;true&quot;/&gt;&lt;/hbox&gt;
-               &lt;/groupbox&gt;
-
-                &lt;groupbox&gt;
-                 &lt;caption&gt;
-                   &lt;label value=&quot;Log&quot; style=&quot;font-weight:bold;&quot;/&gt;
-                 &lt;/caption&gt;
-                 &lt;splitter id=&quot;sdb_log_splitter&quot; style=&quot;background-color:#DDD; border:1px #CCC solid;&quot; collapse=&quot;after&quot; state=&quot;collapsed&quot; persist=&quot;state&quot;&gt;
-                   &lt;grippy id=&quot;sdb_log_grippy&quot;/&gt;
-                 &lt;/splitter&gt;
-                 &lt;textbox  multiline=&quot;true&quot; readonly=&quot;true&quot; id=&quot;sdb_log&quot; rows=&quot;10&quot; style=&quot;overflow:auto&quot;/&gt;
-               &lt;/groupbox&gt;      
-             &lt;/vbox&gt;    
-        
-          &lt;/hbox&gt; 
-      
-        &lt;/vbox&gt;
-  
-    
+          &lt;spacer flex=&quot;1&quot;/&gt;
       &lt;/hbox&gt; 
     &lt;/vbox&gt;
   </diff>
      <filename>src/chrome/content/sdbizo/sdbizo_window.xul</filename>
    </modified>
    <modified>
      <diff>@@ -15,7 +15,7 @@
       &lt;Description&gt;
         &lt;em:id&gt;{ec8030f7-c20a-464f-9b0e-13a3a9e97384}&lt;/em:id&gt;
         &lt;em:minVersion&gt;1.5&lt;/em:minVersion&gt;
-        &lt;em:maxVersion&gt;3.0.*&lt;/em:maxVersion&gt;
+        &lt;em:maxVersion&gt;3.5.*&lt;/em:maxVersion&gt;
       &lt;/Description&gt;
     &lt;/em:targetApplication&gt;
 
@@ -24,7 +24,7 @@
     &lt;em:description&gt;Mozilla Firefox extension for interacting with Amazon Simple DB (SDB).&lt;/em:description&gt;
     &lt;em:creator&gt;Donnie Flood at Bizo, Inc (http://www.bizo.com)&lt;/em:creator&gt;
     &lt;em:homepageURL&gt;http://www.bizo.com&lt;/em:homepageURL&gt;
-    &lt;em:updateURL&gt;https://s3.amazonaws.com/com-bizo-public/tools/sdbizo/sdbizo.rdf&lt;/em:updateURL&gt;
+    &lt;em:updateURL&gt;https://s3.amazonaws.com/com-bizo-public/tools/sdbizo/20090929/sdbizo.rdf&lt;/em:updateURL&gt;
   &lt;/Description&gt;
 
   &lt;Description about=&quot;urn:mozilla:extension:file:sdbizo.jar&quot;</diff>
      <filename>src/install.rdf</filename>
    </modified>
    <modified>
      <diff>@@ -12,7 +12,7 @@
             &lt;r:Description&gt;
               &lt;id&gt;{sdbizo@bizo.com}&lt;/id&gt;
               &lt;minVersion&gt;1.5&lt;/minVersion&gt;
-              &lt;maxVersion&gt;3.0.*&lt;/maxVersion&gt;
+              &lt;maxVersion&gt;3.5.*&lt;/maxVersion&gt;
               &lt;updateLink&gt;https://s3.amazonaws.com/com-bizo-public/tools/sdbizo/sdbizo.xpi&lt;/updateLink&gt;
             &lt;/r:Description&gt;
           &lt;/targetApplication&gt;</diff>
      <filename>src/sdbizo.rdf</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,7 @@
 &lt;html&gt;
   &lt;head&gt;&lt;title&gt;About SDB Tool&lt;/title&gt;&lt;/head&gt;
   &lt;body&gt;
-    &lt;p&gt;Version 2008.12.15.0.1011&lt;/p&gt;
+    &lt;p&gt;Version 2009.09.29&lt;/p&gt;
     &lt;p&gt;SDB Tool developed by &lt;a href=&quot;http://www.bizo.com&quot; target=&quot;_blank&quot;&gt;Bizo, Inc&lt;/a&gt;&lt;/p&gt;
     &lt;p&gt;Project &lt;a href=&quot;http://code.google.com/p/sdbtool&quot; target=&quot;_blank&quot;&gt;hosted&lt;/a&gt; at Google Code.&lt;/p&gt;
     &lt;p&gt;Code &lt;a href=&quot;https://github.com/floodfx/sdbtool&quot; target=&quot;_blank&quot;&gt;hosted&lt;/a&gt; at GitHub.&lt;/p&gt;</diff>
      <filename>src/sdbizo_about.html</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>4362f0a9524cce14c76875cbd9755554d8002dc0</id>
    </parent>
  </parents>
  <author>
    <name>Donnie Flood</name>
    <email>donald.flood@alumni.duke.edu</email>
  </author>
  <url>http://github.com/floodfx/sdbtool/commit/8c8f238ecd1920793000fa29ef6d654717cac7ca</url>
  <id>8c8f238ecd1920793000fa29ef6d654717cac7ca</id>
  <committed-date>2009-09-30T00:47:06-07:00</committed-date>
  <authored-date>2009-09-30T00:47:06-07:00</authored-date>
  <message>updated to new simpledb version.  bug fixes and ui refactoring...</message>
  <tree>4bd81efb648c1dc040b927716352d11d567995e6</tree>
  <committer>
    <name>Donnie Flood</name>
    <email>donald.flood@alumni.duke.edu</email>
  </committer>
</commit>
