Index: /trunk/gsdl3/src/java/org/greenstone/gsdl3/Library2.java
===================================================================
--- /trunk/gsdl3/src/java/org/greenstone/gsdl3/Library2.java	(revision 6299)
+++ /trunk/gsdl3/src/java/org/greenstone/gsdl3/Library2.java	(revision 6300)
@@ -118,5 +118,5 @@
 
 	Element xml_message = this.doc.createElement(GSXML.MESSAGE_ELEM);
-	Element xml_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_PAGE, "", "");
+	Element xml_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_PAGE, "", "", "");
 	xml_message.appendChild(xml_request);
 	Element xml_param_list = this.doc.createElement(GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER);
Index: /trunk/gsdl3/src/java/org/greenstone/gsdl3/action/AppletAction.java
===================================================================
--- /trunk/gsdl3/src/java/org/greenstone/gsdl3/action/AppletAction.java	(revision 6299)
+++ /trunk/gsdl3/src/java/org/greenstone/gsdl3/action/AppletAction.java	(revision 6300)
@@ -38,4 +38,5 @@
 	String service_name=(String)params.get(GSParams.SERVICE);
 	String lang = request.getAttribute(GSXML.LANG_ATT);
+	String uid = request.getAttribute(GSXML.USER_ID_ATT);
 	String to=null;
 	if (collection==null||collection.equals("") ) {
@@ -50,5 +51,5 @@
 
 	    Element mr_message = this.doc.createElement(GSXML.MESSAGE_ELEM);
-	    Element mr_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_PROCESS, to, lang); 
+	    Element mr_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_PROCESS, to, lang, uid); 
 	    mr_message.appendChild(mr_request);
 	    // just append all the params for now - should filter out unneeded ones
@@ -68,5 +69,5 @@
 	
 	Element mr_message = this.doc.createElement(GSXML.MESSAGE_ELEM);
-	Element applet_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_DESCRIBE, to, lang); 
+	Element applet_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_DESCRIBE, to, lang, uid); 
 	mr_message.appendChild(applet_request);
 
Index: /trunk/gsdl3/src/java/org/greenstone/gsdl3/action/DocumentAction.java
===================================================================
--- /trunk/gsdl3/src/java/org/greenstone/gsdl3/action/DocumentAction.java	(revision 6299)
+++ /trunk/gsdl3/src/java/org/greenstone/gsdl3/action/DocumentAction.java	(revision 6300)
@@ -66,4 +66,5 @@
 	String collection = (String) params.get(GSParams.COLLECTION);
 	String lang = request.getAttribute(GSXML.LANG_ATT);
+	String uid = request.getAttribute(GSXML.USER_ID_ATT);
 	String document_name = (String) params.get(GSParams.DOCUMENT);
 	if (document_name == null || document_name.equals("")) {
@@ -105,5 +106,5 @@
 	}
 	// get the additional data needed for the page
-	getBackgroundData(page_response, collection, lang);
+	getBackgroundData(page_response, collection, lang, uid);
 	Element format_elem = (Element)GSXML.getChildByTagName(page_response, GSXML.FORMAT_ELEM);
 	
@@ -178,5 +179,5 @@
 	    Element ds_message = this.doc.createElement(GSXML.MESSAGE_ELEM);
 	    String to = GSPath.appendLink(collection, "DocumentStructureRetrieve");// Hard-wired?
-	    Element ds_request = GSXML.createBasicRequest(this.doc,GSXML.REQUEST_TYPE_PROCESS, to, lang); 
+	    Element ds_request = GSXML.createBasicRequest(this.doc,GSXML.REQUEST_TYPE_PROCESS, to, lang, uid); 
 	    ds_message.appendChild(ds_request);
 	    ds_request.appendChild(ds_param_list);
@@ -227,5 +228,5 @@
 	Element dm_message = this.doc.createElement(GSXML.MESSAGE_ELEM);
 	String to = GSPath.appendLink(collection, "DocumentMetadataRetrieve");  // Hard-wired?
-	Element dm_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_PROCESS, to, lang);
+	Element dm_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_PROCESS, to, lang, uid);
 	dm_message.appendChild(dm_request);
 	// Create a parameter list to specify the required metadata information
@@ -260,5 +261,5 @@
 	// we also want a metadata request to the top level document to get
 	// assocfilepath - this could be cached too
-	Element doc_meta_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_PROCESS, to, lang);
+	Element doc_meta_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_PROCESS, to, lang, uid);
 	dm_message.appendChild(doc_meta_request);
 	Element doc_meta_param_list = this.doc.createElement(GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER);
@@ -296,5 +297,5 @@
 	Element dc_message = this.doc.createElement(GSXML.MESSAGE_ELEM);
 	to = GSPath.appendLink(collection, "DocumentContentRetrieve");  // Hard-wired?
-	Element dc_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_PROCESS, to, lang);
+	Element dc_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_PROCESS, to, lang, uid);
 	dc_message.appendChild(dc_request);
 	
@@ -343,5 +344,5 @@
 		// send a message to the service
 		Element enrich_message = this.doc.createElement(GSXML.MESSAGE_ELEM);
-		Element enrich_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_PROCESS, enrich_service, lang);
+		Element enrich_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_PROCESS, enrich_service, lang, uid);
 		enrich_message.appendChild(enrich_request);
 		// check for parameters
@@ -419,5 +420,6 @@
      * but is the same whatever the query is - should be cached */
     protected  boolean getBackgroundData(Element page_response, 
-					 String collection, String lang) {
+					 String collection, String lang,
+					 String uid) {
 
 	// create a message to process - contains requests for the collection 
@@ -427,5 +429,5 @@
 	String path = GSPath.appendLink(collection, "DocumentContentRetrieve");
 	// the format request - ignore for now, where does this request go to??
-	Element format_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_FORMAT, path, lang);
+	Element format_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_FORMAT, path, lang, uid);
 	info_message.appendChild(format_request);
 
@@ -433,5 +435,5 @@
 
 	if (provide_annotations) {
-	    Element enrich_services_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_DESCRIBE, "", lang);
+	    Element enrich_services_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_DESCRIBE, "", lang, uid);
 	    enrich_services_request.setAttribute(GSXML.INFO_ATT, "serviceList");
 	    info_message.appendChild(enrich_services_request);
@@ -462,5 +464,5 @@
 	    for (int j=0; j<e_services.getLength(); j++) {
 		if (((Element)e_services.item(j)).getAttribute(GSXML.TYPE_ATT).equals("enrich")) {
-		    Element s = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_DESCRIBE, ((Element)e_services.item(j)).getAttribute(GSXML.NAME_ATT), lang);
+		    Element s = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_DESCRIBE, ((Element)e_services.item(j)).getAttribute(GSXML.NAME_ATT), lang, uid);
 		    enrich_message.appendChild(s);
 		    service_found = true;
@@ -499,8 +501,9 @@
 	String collection = (String)params.get(GSParams.COLLECTION);
 	String lang = request.getAttribute(GSXML.LANG_ATT);
+	String uid = request.getAttribute(GSXML.USER_ID_ATT);
 	String to = GSPath.appendLink(collection, service_name);
 	
 	Element mr_query_message = this.doc.createElement(GSXML.MESSAGE_ELEM);
-	Element mr_query_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_PROCESS, to, lang);
+	Element mr_query_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_PROCESS, to, lang, uid);
 	mr_query_message.appendChild(mr_query_request);
 	
Index: /trunk/gsdl3/src/java/org/greenstone/gsdl3/action/GS2BrowseAction.java
===================================================================
--- /trunk/gsdl3/src/java/org/greenstone/gsdl3/action/GS2BrowseAction.java	(revision 6299)
+++ /trunk/gsdl3/src/java/org/greenstone/gsdl3/action/GS2BrowseAction.java	(revision 6300)
@@ -50,4 +50,5 @@
 	
 	String lang = request.getAttribute(GSXML.LANG_ATT);
+	String uid = request.getAttribute(GSXML.USER_ID_ATT);
 	String to = GSPath.appendLink(collection, service_name);
 	
@@ -57,9 +58,9 @@
 	
 	Element info_message = this.doc.createElement(GSXML.MESSAGE_ELEM);
-	Element info_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_DESCRIBE, to, lang); 
+	Element info_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_DESCRIBE, to, lang, uid); 
 	info_message.appendChild(info_request);
 	
 	// also get the format stuff now if there is some
-	Element format_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_FORMAT, to, lang);
+	Element format_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_FORMAT, to, lang, uid);
 	info_message.appendChild(format_request);
 	// process the requests
Index: /trunk/gsdl3/src/java/org/greenstone/gsdl3/action/NoCollQueryAction.java
===================================================================
--- /trunk/gsdl3/src/java/org/greenstone/gsdl3/action/NoCollQueryAction.java	(revision 6299)
+++ /trunk/gsdl3/src/java/org/greenstone/gsdl3/action/NoCollQueryAction.java	(revision 6300)
@@ -51,9 +51,10 @@
 	String request_type = (String)params.get(GSParams.REQUEST_TYPE);
 	String lang = request.getAttribute(GSXML.LANG_ATT);
+	String uid = request.getAttribute(GSXML.USER_ID_ATT);
 	if (request_type.equals("d")) {
 	    // display the query page
 	    // the only info we need to return is the collection list cos the xslt does teh rest
 	    
-	    Element coll_list = getCollectionList(lang);
+	    Element coll_list = getCollectionList(lang, uid);
 	    page_response.appendChild(this.doc.importNode(coll_list, true));
 	    return page_response;
@@ -70,5 +71,5 @@
   	if (query_coll_list == null || query_coll_list.equals("")) {
   	    System.err.println("NoCollQueryAction Error: no collections were specified!");
-  	    Element coll_list = getCollectionList(lang);
+  	    Element coll_list = getCollectionList(lang, uid);
   	    page_response.appendChild(this.doc.importNode(coll_list, true));
   	    return page_response; 
@@ -89,5 +90,5 @@
 	for (int i=0; i< colls.length; i++) {
 	    String to = GSPath.appendLink(colls[i], service_name);
-	    Element mr_query_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_PROCESS, to, lang);
+	    Element mr_query_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_PROCESS, to, lang, uid);
 	    mr_query_message.appendChild(mr_query_request);
 	    mr_query_request.appendChild(query_param_list.cloneNode(true));
@@ -107,5 +108,5 @@
 		String coll_name = extractCollName(((Element)responses.item(j)).getAttribute(GSXML.FROM_ATT));
 		String path = GSPath.appendLink(coll_name, "DocumentMetadataRetrieve");
-		Element mr_meta_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_PROCESS, path, lang);
+		Element mr_meta_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_PROCESS, path, lang, uid);
 		mr_meta_message.appendChild(mr_meta_request);
 		mr_meta_request.appendChild(this.doc.importNode(document_list, true));
@@ -157,9 +158,9 @@
 
 
-    protected Element getCollectionList(String lang) {
+    protected Element getCollectionList(String lang, String uid) {
 	
 	// first, get the message router info
 	Element coll_list_message = this.doc.createElement(GSXML.MESSAGE_ELEM);
-	Element coll_list_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_DESCRIBE, "", lang);
+	Element coll_list_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_DESCRIBE, "", lang, uid);
 	coll_list_message.appendChild(coll_list_request);
 	Element coll_list_response = (Element)this.mr.process(coll_list_message);
@@ -181,5 +182,5 @@
 	    String name = c.getAttribute(GSXML.NAME_ATT);	    
 	    
-	    Element metadata_request = GSXML.createBasicRequest(this.doc,  GSXML.REQUEST_TYPE_DESCRIBE, name, lang);
+	    Element metadata_request = GSXML.createBasicRequest(this.doc,  GSXML.REQUEST_TYPE_DESCRIBE, name, lang, uid);
 	    metadata_request.appendChild(coll_param_list.cloneNode(true));
 	    metadata_message.appendChild(metadata_request);
Index: /trunk/gsdl3/src/java/org/greenstone/gsdl3/action/PageAction.java
===================================================================
--- /trunk/gsdl3/src/java/org/greenstone/gsdl3/action/PageAction.java	(revision 6299)
+++ /trunk/gsdl3/src/java/org/greenstone/gsdl3/action/PageAction.java	(revision 6300)
@@ -48,8 +48,8 @@
 	
 	String lang = request.getAttribute(GSXML.LANG_ATT);
-	
+	String uid = request.getAttribute(GSXML.USER_ID_ATT);
 	// first, get the message router info
 	Element coll_list_message = this.doc.createElement(GSXML.MESSAGE_ELEM);
-	Element coll_list_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_DESCRIBE, "", lang);
+	Element coll_list_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_DESCRIBE, "", lang, uid);
 	coll_list_message.appendChild(coll_list_request);
 	Element coll_list_response = (Element)this.mr.process(coll_list_message);
@@ -68,5 +68,5 @@
 	    String name = c.getAttribute(GSXML.NAME_ATT);	    
 	    
-	    Element metadata_request = GSXML.createBasicRequest(this.doc,  GSXML.REQUEST_TYPE_DESCRIBE, name, lang);
+	    Element metadata_request = GSXML.createBasicRequest(this.doc,  GSXML.REQUEST_TYPE_DESCRIBE, name, lang, uid);
 	    metadata_message.appendChild(metadata_request);
 	}
@@ -103,4 +103,5 @@
 
 	String lang = request.getAttribute(GSXML.LANG_ATT);
+	String uid = request.getAttribute(GSXML.USER_ID_ATT);
 	// extract the params from the cgi-request, 
 	Element cgi_paramList = (Element)GSXML.getChildByTagName(request, GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER);
@@ -117,5 +118,5 @@
 	Element coll_about_message = this.doc.createElement(GSXML.MESSAGE_ELEM);
 	
-	Element coll_about_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_DESCRIBE,  coll_name, lang);
+	Element coll_about_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_DESCRIBE,  coll_name, lang, uid);
 	coll_about_message.appendChild(coll_about_request);
 	
@@ -135,5 +136,5 @@
 	    String name = c.getAttribute(GSXML.NAME_ATT);
 	    String address = GSPath.appendLink(coll_name, name);
-	    Element info_request = GSXML.createBasicRequest(this.doc,  GSXML.REQUEST_TYPE_DESCRIBE, address, lang);
+	    Element info_request = GSXML.createBasicRequest(this.doc,  GSXML.REQUEST_TYPE_DESCRIBE, address, lang, uid);
 	    info_message.appendChild(info_request);
 	}
@@ -175,4 +176,5 @@
 	
 	String lang = request.getAttribute(GSXML.LANG_ATT);
+	String uid = request.getAttribute(GSXML.USER_ID_ATT);
 	String page_name = request.getAttribute(GSXML.SUBACTION_ATT);
 
@@ -193,5 +195,5 @@
 	Element coll_about_message = this.doc.createElement(GSXML.MESSAGE_ELEM);
 	
-	Element coll_about_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_DESCRIBE,  coll_name, lang);
+	Element coll_about_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_DESCRIBE,  coll_name, lang, uid);
 	coll_about_message.appendChild(coll_about_request);
 	
Index: /trunk/gsdl3/src/java/org/greenstone/gsdl3/action/ProcessAction.java
===================================================================
--- /trunk/gsdl3/src/java/org/greenstone/gsdl3/action/ProcessAction.java	(revision 6299)
+++ /trunk/gsdl3/src/java/org/greenstone/gsdl3/action/ProcessAction.java	(revision 6300)
@@ -39,4 +39,5 @@
 	String request_type = (String) params.get(GSParams.REQUEST_TYPE);
 	String lang = request.getAttribute(GSXML.LANG_ATT);
+	String uid = request.getAttribute(GSXML.USER_ID_ATT);
 	// what is carried out depends on the request_type
 	// if rt=d, then a describe request is done,
@@ -75,5 +76,5 @@
 		
 	    }
-	    Element mr_query_request = GSXML.createBasicRequest(this.doc, request_type_att, to, lang);
+	    Element mr_query_request = GSXML.createBasicRequest(this.doc, request_type_att, to, lang, uid);
 	    if (param_list != null) {
 		mr_query_request.appendChild(param_list);
@@ -99,5 +100,5 @@
 	// request the service info for the selected service - should be cached
 	Element mr_info_message = this.doc.createElement(GSXML.MESSAGE_ELEM);
-	Element mr_info_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_DESCRIBE, to, lang); //.createElement(GSXML.REQUEST_ELEM);
+	Element mr_info_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_DESCRIBE, to, lang, uid); //.createElement(GSXML.REQUEST_ELEM);
 	mr_info_message.appendChild(mr_info_request);
 	Element mr_info_response = (Element) this.mr.process(mr_info_message);
Index: /trunk/gsdl3/src/java/org/greenstone/gsdl3/action/QueryAction.java
===================================================================
--- /trunk/gsdl3/src/java/org/greenstone/gsdl3/action/QueryAction.java	(revision 6299)
+++ /trunk/gsdl3/src/java/org/greenstone/gsdl3/action/QueryAction.java	(revision 6300)
@@ -57,4 +57,5 @@
 	
 	String lang = request.getAttribute(GSXML.LANG_ATT);
+	String uid = request.getAttribute(GSXML.USER_ID_ATT);
 	String to = GSPath.appendLink(collection, service_name);
 	
@@ -63,9 +64,9 @@
 	// this will probably need to be cached somehow later on. 
 	Element mr_info_message = this.doc.createElement(GSXML.MESSAGE_ELEM);
-	Element mr_info_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_DESCRIBE,  to, lang);
+	Element mr_info_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_DESCRIBE,  to, lang, uid);
 	mr_info_message.appendChild(mr_info_request);
 
 	// also get the format stuff now if there is some
-	Element format_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_FORMAT, to, lang);
+	Element format_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_FORMAT, to, lang, uid);
 	mr_info_message.appendChild(format_request);
 
@@ -100,5 +101,5 @@
 	// do the query
 	Element mr_query_message = this.doc.createElement(GSXML.MESSAGE_ELEM);
-	Element mr_query_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_PROCESS, to, lang);
+	Element mr_query_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_PROCESS, to, lang, uid);
 	mr_query_message.appendChild(mr_query_request);
 	
Index: /trunk/gsdl3/src/java/org/greenstone/gsdl3/action/SystemAction.java
===================================================================
--- /trunk/gsdl3/src/java/org/greenstone/gsdl3/action/SystemAction.java	(revision 6299)
+++ /trunk/gsdl3/src/java/org/greenstone/gsdl3/action/SystemAction.java	(revision 6300)
@@ -23,4 +23,5 @@
 	String subaction = request.getAttribute(GSXML.SUBACTION_ATT);
 	String lang = request.getAttribute(GSXML.LANG_ATT);
+	String uid = request.getAttribute(GSXML.USER_ID_ATT);
 	// get the param list
 	Element cgi_param_list = (Element)GSXML.getChildByTagName(request, GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER);
@@ -37,5 +38,5 @@
 
 	Element mr_request_message = this.doc.createElement(GSXML.MESSAGE_ELEM);
-	Element mr_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_SYSTEM, to, lang);
+	Element mr_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_SYSTEM, to, lang, uid);
 	mr_request_message.appendChild(mr_request);
 	
Index: /trunk/gsdl3/src/java/org/greenstone/gsdl3/action/XMLDocumentAction.java
===================================================================
--- /trunk/gsdl3/src/java/org/greenstone/gsdl3/action/XMLDocumentAction.java	(revision 6299)
+++ /trunk/gsdl3/src/java/org/greenstone/gsdl3/action/XMLDocumentAction.java	(revision 6300)
@@ -47,4 +47,5 @@
 	}
 	String lang = request.getAttribute(GSXML.LANG_ATT);
+	String uid = request.getAttribute(GSXML.USER_ID_ATT);
 	
 	// subaction used to decide if we are returning content or structure
@@ -62,5 +63,5 @@
 	Element mr_message = this.doc.createElement(GSXML.MESSAGE_ELEM);
 	
-	Element ret_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_PROCESS, to, lang);
+	Element ret_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_PROCESS, to, lang, uid);
 	mr_message.appendChild(ret_request);
 
@@ -73,5 +74,5 @@
 	// also add in a request for the Title metadata
 	to = GSPath.appendLink(collection, "DocumentMetadataRetrieve");
-	Element meta_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_PROCESS, to, lang);
+	Element meta_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_PROCESS, to, lang, uid);
 	// copy the doc list
 	meta_request.appendChild(doc_list.cloneNode(true));
Index: /trunk/gsdl3/src/java/org/greenstone/gsdl3/core/DefaultReceptionist.java
===================================================================
--- /trunk/gsdl3/src/java/org/greenstone/gsdl3/core/DefaultReceptionist.java	(revision 6299)
+++ /trunk/gsdl3/src/java/org/greenstone/gsdl3/core/DefaultReceptionist.java	(revision 6300)
@@ -40,4 +40,5 @@
 	String coll_name = coll_param.getAttribute(GSXML.VALUE_ATT);
 	String lang = page_request.getAttribute(GSXML.LANG_ATT);
+	String uid = page_request.getAttribute(GSXML.USER_ID_ATT);
 	
 	boolean get_service_description = false;
@@ -54,5 +55,5 @@
 	    // we dont have one yet - get it
 	    Element coll_about_message = this.doc.createElement(GSXML.MESSAGE_ELEM);
-	    Element coll_about_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_DESCRIBE,  coll_name, lang);
+	    Element coll_about_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_DESCRIBE,  coll_name, lang, uid);
 	    coll_about_message.appendChild(coll_about_request);
 	    
@@ -112,5 +113,5 @@
 	    String name = c.getAttribute(GSXML.NAME_ATT);
 	    String address = GSPath.appendLink(coll_name, name);
-	    Element info_request = GSXML.createBasicRequest(this.doc,  GSXML.REQUEST_TYPE_DESCRIBE, address, lang);
+	    Element info_request = GSXML.createBasicRequest(this.doc,  GSXML.REQUEST_TYPE_DESCRIBE, address, lang, uid);
 	    Element req_param_list = this.doc.createElement(GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER);
 	    req_param_list.appendChild(GSXML.createParameter(this.doc, GSXML.SUBSET_PARAM, GSXML.DISPLAY_TEXT_ELEM));
Index: /trunk/gsdl3/src/java/org/greenstone/gsdl3/core/NZDLReceptionist.java
===================================================================
--- /trunk/gsdl3/src/java/org/greenstone/gsdl3/core/NZDLReceptionist.java	(revision 6299)
+++ /trunk/gsdl3/src/java/org/greenstone/gsdl3/core/NZDLReceptionist.java	(revision 6300)
@@ -52,5 +52,5 @@
 	Element info_message = this.doc.createElement(GSXML.MESSAGE_ELEM);
 	String to = GSPath.appendLink(collection, "ClassifierBrowse");
-	Element info_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_DESCRIBE, to, lang); 
+	Element info_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_DESCRIBE, to, lang, ""); 
 	info_message.appendChild(info_request);
 	
