Index: lib/style/skins/obfs/index.html
===================================================================
--- lib/style/skins/obfs/index.html	(revision 1955)
+++ lib/style/skins/obfs/index.html	(revision 1956)
@@ -76,7 +76,7 @@
 <p><b>Registry Tools</b></p>
 <p>
 <menu>
-  <li><a href="@servlet-path@?action=query&amp;operator=INTERSECT&amp;anyfield=%25&amp;organizationName=Organization%20of%20Biological%20Field%20Stations&amp;qformat=obfs&amp;returndoctype=eml://ecoinformatics.org/eml-2.0.0&amp;returndoctype=-//ecoinformatics.org//eml-dataset-2.0.0beta6//EN&amp;returndoctype=-//ecoinformatics.org//eml-dataset-2.0.0beta4//EN&amp;returnfield=dataset/title&amp;returnfield=keyword&amp;returnfield=originator/individualName/surName&amp;returnfield=creator/individualName/surName&amp;returnfield=originator/organizationName&amp;returnfield=creator/organizationName">Browse existing OBFS data sets</a><br />
+  <li><a href="@servlet-path@?action=query&amp;operator=INTERSECT&amp;anyfield=%25&amp;organizationName=Organization%20of%20Biological%20Field%20Stations&amp;qformat=obfs&amp;enableediting=true&amp;returndoctype=eml://ecoinformatics.org/eml-2.0.0&amp;returndoctype=-//ecoinformatics.org//eml-dataset-2.0.0beta6//EN&amp;returndoctype=-//ecoinformatics.org//eml-dataset-2.0.0beta4//EN&amp;returnfield=dataset/title&amp;returnfield=keyword&amp;returnfield=originator/individualName/surName&amp;returnfield=creator/individualName/surName&amp;returnfield=originator/organizationName&amp;returnfield=creator/organizationName">Browse existing OBFS data sets</a><br />
     <menu>
       The registry search system is used to locate data sets of interest
       by searching through existing registered data sets.  
Index: lib/style/skins/obfs/header.html
===================================================================
--- lib/style/skins/obfs/header.html	(revision 1955)
+++ lib/style/skins/obfs/header.html	(revision 1956)
@@ -67,6 +67,7 @@
   <input name="organizationName" value="Organization of Biological Field Stations" type="hidden">
   <input name="action" value="query" type="hidden">
   <input name="qformat" value="obfs" type="hidden">
+  <input name="enableediting" value="true" type="hidden">
   <input name="operator" value="UNION" type="hidden">
   <input name="returnfield" value="originator/individualName/surName" type="hidden">
   <input name="returnfield" value="originator/individualName/givenName" type="hidden">
Index: lib/style/skins/obfs/searchform.html
===================================================================
--- lib/style/skins/obfs/searchform.html	(revision 1955)
+++ lib/style/skins/obfs/searchform.html	(revision 1956)
@@ -5,6 +5,7 @@
   <input name="organizationName" value="Organization of Biological Field Stations" type="hidden">
   <input name="action" value="query" type="hidden">
   <input name="qformat" value="obfs" type="hidden">
+  <input name="enableediting" value="true" type="hidden">
   <input name="operator" value="UNION" type="hidden">
   <input name="returnfield" value="originator/individualName/surName" type="hidden">
   <input name="returnfield" value="originator/individualName/givenName" type="hidden">
Index: lib/style/common/resultset.xsl
===================================================================
--- lib/style/common/resultset.xsl	(revision 1955)
+++ lib/style/common/resultset.xsl	(revision 1956)
@@ -116,7 +116,10 @@
                  <input type="hidden" name="abstractpath" />
                  <!-- specified down IN javascript:submitform2('read','zip',docid) -->
 
-                <input type="hidden" name="qformat" />
+                 <input type="hidden" name="qformat" />
+                 <xsl:if test="$enableediting = 'true'">
+	 	           <input type="hidden" name="enableediting" value="{$enableediting}"/>
+                 </xsl:if>
                  <input type="hidden" name="action" value="read"/>
                  <input type="hidden" name="docid">
                    <xsl:attribute name="value">
Index: lib/metacat.properties
===================================================================
--- lib/metacat.properties	(revision 1955)
+++ lib/metacat.properties	(revision 1956)
@@ -59,3 +59,4 @@
 datafileflag=datafile
 datafilesizelimit=1000
 defaultcontenttype=@defaultcontenttype@
+query.ignored.params=enableediting,foo
Index: src/edu/ucsb/nceas/metacat/DBQuery.java
===================================================================
--- src/edu/ucsb/nceas/metacat/DBQuery.java	(revision 1955)
+++ src/edu/ucsb/nceas/metacat/DBQuery.java	(revision 1956)
@@ -33,6 +33,7 @@
 
 import edu.ucsb.nceas.morpho.datapackage.*;
 import java.io.*;
+import java.util.StringTokenizer;
 import java.util.Vector;
 import java.util.zip.*;
 import java.net.URL;
@@ -954,21 +955,28 @@
       //make sure we aren't querying for any of these
       //parameters since the are already in the query
       //in one form or another.
-      if (!nextkey.toString().equals("returndoctype") && 
-         !nextkey.toString().equals("filterdoctype")  &&
-         !nextkey.toString().equals("action")  &&
-         !nextkey.toString().equals("qformat") && 
-         !nextkey.toString().equals("anyfield") &&
-         !nextkey.toString().equals("returnfield") &&
-         !nextkey.toString().equals("owner") &&
-         !nextkey.toString().equals("site") &&
-         !nextkey.toString().equals("operator") )
-      {
+      Vector ignoredParams = new Vector();
+      ignoredParams.add("returndoctype");
+      ignoredParams.add("filterdoctype");
+      ignoredParams.add("action");
+      ignoredParams.add("qformat");
+      ignoredParams.add("anyfield");
+      ignoredParams.add("returnfield");
+      ignoredParams.add("owner");
+      ignoredParams.add("site");
+      ignoredParams.add("operator");
+
+      // Also ignore parameters listed in the properties file
+      // so that they can be passed through to stylesheets
+      String paramsToIgnore = MetaCatUtil.getOption("query.ignored.params");
+      StringTokenizer st = new StringTokenizer(paramsToIgnore, ",");
+      while (st.hasMoreTokens()) {
+          ignoredParams.add(st.nextToken());
+      }
+      if (!ignoredParams.contains(nextkey.toString())) {
         //allow for more than value per field name
-        for(int i=0; i<((String[])nextelement).length; i++)
-        {
-          if (!((String[])nextelement)[i].equals(""))
-          {
+        for(int i=0; i<((String[])nextelement).length; i++) {
+          if (!((String[])nextelement)[i].equals("")) {
             query.append("<queryterm casesensitive=\"" + casesensitive +"\" " + 
                          "searchmode=\"" + searchmode + "\">" +
                          "<value>" +
Index: src/edu/ucsb/nceas/metacat/MetaCatServlet.java
===================================================================
--- src/edu/ucsb/nceas/metacat/MetaCatServlet.java	(revision 1955)
+++ src/edu/ucsb/nceas/metacat/MetaCatServlet.java	(revision 1956)
@@ -610,7 +610,7 @@
       outPutTime = System.currentTimeMillis()/1000;
       MetaCatUtil.debugMessage("Output time: "+(outPutTime-toStringTime), 30);
     } else {
-      transformResultset(resultdoc, response, out, qformat, sessionid);
+      transformResultset(resultdoc, response, out, qformat, sessionid, params);
       outPutTime = System.currentTimeMillis()/1000;
       MetaCatUtil.debugMessage("Output time: "+(outPutTime-toStringTime), 30);
     }
@@ -641,7 +641,7 @@
       response.setContentType("text/xml");
       out.println(resultdoc);
     } else {
-      transformResultset(resultdoc, response, out, qformat, sessionid);
+      transformResultset(resultdoc, response, out, qformat, sessionid, params);
     }
   }
 
@@ -733,7 +733,7 @@
   protected void transformResultset(String resultdoc,
                                     HttpServletResponse response,
                                     PrintWriter out, String qformat,
-                                    String sessionid)
+                                    String sessionid, Hashtable params)
   {
 
     try {
@@ -741,7 +741,7 @@
       DBTransform trans = new DBTransform();
       response.setContentType("text/html");
       trans.transformXMLDocument(resultdoc, "-//NCEAS//resultset//EN",
-                                 "-//W3C//HTML//EN", qformat, out, null,
+                                 "-//W3C//HTML//EN", qformat, out, params,
                                  sessionid);
 
     }
