Index: main/trunk/greenstone2/runtime-src/src/recpt/depositoraction.cpp
===================================================================
--- main/trunk/greenstone2/runtime-src/src/recpt/depositoraction.cpp	(revision 29100)
+++ main/trunk/greenstone2/runtime-src/src/recpt/depositoraction.cpp	(revision 29381)
@@ -157,13 +157,4 @@
   argsinfo.addarginfo (NULL, arg_ainfo);
 
-//   arg_ainfo.shortname = "di1fullname";
-//   arg_ainfo.longname = "depositor specific";
-//   arg_ainfo.multiplechar = true;
-//   arg_ainfo.multiplevalue = false;
-//   arg_ainfo.defaultstatus = cgiarginfo::weak;
-//   arg_ainfo.argdefault = g_EmptyText;
-//   arg_ainfo.savedarginfo = cgiarginfo::mustnot; // saved on disk
-//   argsinfo.addarginfo (NULL, arg_ainfo);
-
   arg_ainfo.shortname = "di1dirname";
   arg_ainfo.longname = "depositor specific";
@@ -184,41 +175,4 @@
   argsinfo.addarginfo (NULL, arg_ainfo);
 
-//   arg_ainfo.shortname = "di1clone";
-//   arg_ainfo.longname = "depositor specific";
-//   arg_ainfo.multiplechar = false;
-//   arg_ainfo.multiplevalue = false;
-//   arg_ainfo.defaultstatus = cgiarginfo::weak;
-//   arg_ainfo.argdefault = "0";
-//   arg_ainfo.savedarginfo = cgiarginfo::mustnot; // saved on disk
-//   argsinfo.addarginfo (NULL, arg_ainfo);
-
-//   arg_ainfo.shortname = "di1clonecol";
-//   arg_ainfo.longname = "depositor specific";
-//   arg_ainfo.multiplechar = true;
-//   arg_ainfo.multiplevalue = false;
-//   arg_ainfo.defaultstatus = cgiarginfo::weak;
-//   arg_ainfo.argdefault = g_EmptyText;
-//   arg_ainfo.savedarginfo = cgiarginfo::mustnot; // saved on disk
-//   argsinfo.addarginfo (NULL, arg_ainfo);
-
-//   arg_ainfo.shortname = "cfgfile";
-//   arg_ainfo.longname = "configuration file contents";
-//   arg_ainfo.multiplechar = true;
-//   arg_ainfo.multiplevalue = false;
-//   arg_ainfo.defaultstatus = cgiarginfo::weak;
-//   arg_ainfo.argdefault = g_EmptyText;
-//   arg_ainfo.savedarginfo = cgiarginfo::mustnot;
-//   argsinfo.addarginfo (NULL, arg_ainfo);
-
-//   // will be set if we arrived at the "configure collection" page
-//   // via the "changing an existing collection" page
-//   arg_ainfo.shortname = "di1econf";
-//   arg_ainfo.longname = "depositor specific";
-//   arg_ainfo.multiplechar = false;
-//   arg_ainfo.multiplevalue = false;
-//   arg_ainfo.defaultstatus = cgiarginfo::weak;
-//   arg_ainfo.argdefault = "0";
-//   arg_ainfo.savedarginfo = cgiarginfo::must;
-//   argsinfo.addarginfo (NULL, arg_ainfo);
 
   // wizard uses this to see if we are working with an existing collection:
@@ -233,22 +187,23 @@
   argsinfo.addarginfo (NULL, arg_ainfo);
 
-//   arg_ainfo.shortname = "di1input";
-//   arg_ainfo.longname = "depositor specific";
-//   arg_ainfo.multiplechar = true;
-//   arg_ainfo.multiplevalue = true;
-//   arg_ainfo.defaultstatus = cgiarginfo::weak;
-//   arg_ainfo.argdefault = g_EmptyText;
-//   arg_ainfo.savedarginfo = cgiarginfo::mustnot; // saved on disk
-//   argsinfo.addarginfo (NULL, arg_ainfo);
-
-//   //we don't need this in the depositor
-//   arg_ainfo.shortname = "di1inputtype";
-//   arg_ainfo.longname = "depositor specific";
-//   arg_ainfo.multiplechar = true;
-//   arg_ainfo.multiplevalue = true;
-//   arg_ainfo.defaultstatus = cgiarginfo::weak;
-//   arg_ainfo.argdefault = g_EmptyText;
-//   arg_ainfo.savedarginfo = cgiarginfo::mustnot; // saved on disk
-//   argsinfo.addarginfo (NULL, arg_ainfo);
+  // collection specific depositing. We are bypassing the select page. Need to do the clearing that happens at select. And depositor link at top right should be back to local deposit 
+  arg_ainfo.shortname = "di1local";
+  arg_ainfo.longname = "depositor specific";
+  arg_ainfo.multiplechar = false;
+  arg_ainfo.multiplevalue = false;
+  arg_ainfo.defaultstatus = cgiarginfo::weak;
+  arg_ainfo.argdefault = "0";
+  arg_ainfo.savedarginfo = cgiarginfo::must;
+  argsinfo.addarginfo (NULL, arg_ainfo);
+ 
+  // shall we cache the metadata values? Made this an arg so we can turn it off if wanted
+  arg_ainfo.shortname = "di1cache";
+  arg_ainfo.longname = "depositor specific";
+  arg_ainfo.multiplechar = false;
+  arg_ainfo.multiplevalue = false;
+  arg_ainfo.defaultstatus = cgiarginfo::weak;
+  arg_ainfo.argdefault = "1";
+  arg_ainfo.savedarginfo = cgiarginfo::must;
+  argsinfo.addarginfo (NULL, arg_ainfo);
 
 }
@@ -320,5 +275,5 @@
   }
   
-  if (current_page == "select") {  
+  if (current_page == "select" || (current_page == "step1" && args["di1local"] == "1")) {  
  
     //make sure the last page arg is re-set to zero 
@@ -390,4 +345,5 @@
 
     // create cached metadata values
+    if (args["di1cache"] == "1") {
     text_t cached_metadata_values = "";
     cgiargsclass::const_iterator args_here = args.begin();
@@ -435,4 +391,5 @@
       cached_metadata_values += "\\});";
       args["cachedMDValues"] = cached_metadata_values;
+    }
     }
   }
