Index: /gli/branches/glicolgroup/src/org/greenstone/gatherer/cdm/CollectionConfiguration.java
===================================================================
--- /gli/branches/glicolgroup/src/org/greenstone/gatherer/cdm/CollectionConfiguration.java	(revision 19667)
+++ /gli/branches/glicolgroup/src/org/greenstone/gatherer/cdm/CollectionConfiguration.java	(revision 19668)
@@ -3697,5 +3697,5 @@
         
         // If we're using the Local Library we must release the collection before writing to the collect.cfg file
-        String collection_name = Gatherer.c_man.getCollection ().getName ();
+        String collection_name = Gatherer.c_man.getCollection().getGroupQualifiedName(true);
         boolean collection_released = false;
         if (Gatherer.c_man.built () && LocalLibraryServer.isRunning () == true) {
@@ -3786,5 +3786,5 @@
         
         // If we're using the Local Library we must release the collection before writing to the collect.cfg file
-        String collection_name = CollectionManager.getLoadedCollectionName ();
+        String collection_name = CollectionManager.getLoadedGroupQualifiedCollectionName(true);
         boolean collection_released = false;
         if (Gatherer.c_man.built () && LocalLibraryServer.isRunning () == true) {
Index: /gli/branches/glicolgroup/src/org/greenstone/gatherer/cdm/GeneralManager.java
===================================================================
--- /gli/branches/glicolgroup/src/org/greenstone/gatherer/cdm/GeneralManager.java	(revision 19667)
+++ /gli/branches/glicolgroup/src/org/greenstone/gatherer/cdm/GeneralManager.java	(revision 19668)
@@ -369,5 +369,5 @@
 			    if (Gatherer.isGsdlRemote) {
 				Gatherer.remoteGreenstoneServer.uploadCollectionFile(
-                                   CollectionManager.getLoadedCollectionName(), collection_image_file);
+                                   CollectionManager.getLoadedGroupQualifiedCollectionName(true), collection_image_file);
 			    }
 			}
Index: /gli/branches/glicolgroup/src/org/greenstone/gatherer/cdm/MacrosManager.java
===================================================================
--- /gli/branches/glicolgroup/src/org/greenstone/gatherer/cdm/MacrosManager.java	(revision 19667)
+++ /gli/branches/glicolgroup/src/org/greenstone/gatherer/cdm/MacrosManager.java	(revision 19668)
@@ -221,5 +221,5 @@
 		// Users need to wait until the upload has finished before pressing Preview Collection!
 		if (Gatherer.isGsdlRemote) {
-		    Gatherer.remoteGreenstoneServer.uploadCollectionFile(CollectionManager.getLoadedCollectionName(), extra_dm_file);
+		    Gatherer.remoteGreenstoneServer.uploadCollectionFile(CollectionManager.getLoadedGroupQualifiedCollectionName(true), extra_dm_file);
 		}
 	    }
Index: /gli/branches/glicolgroup/src/org/greenstone/gatherer/collection/BasicCollectionConfiguration.java
===================================================================
--- /gli/branches/glicolgroup/src/org/greenstone/gatherer/collection/BasicCollectionConfiguration.java	(revision 19667)
+++ /gli/branches/glicolgroup/src/org/greenstone/gatherer/collection/BasicCollectionConfiguration.java	(revision 19668)
@@ -257,4 +257,12 @@
 	
     }
+
+    /** This current file is in .../<col_name>/etc/collect.cfg. This method returns .../<col_name>
+     * @return the short name of this collection as a String
+     */
+    public String getCollectionPath() {
+	return file.getParentFile().getParentFile().getAbsolutePath();
+    }
+
     
     /** set the site for this coll */
Index: /gli/branches/glicolgroup/src/org/greenstone/gatherer/collection/CollectionManager.java
===================================================================
--- /gli/branches/glicolgroup/src/org/greenstone/gatherer/collection/CollectionManager.java	(revision 19667)
+++ /gli/branches/glicolgroup/src/org/greenstone/gatherer/collection/CollectionManager.java	(revision 19668)
@@ -398,5 +398,5 @@
 	// Remove the lock file on the server
 	if (Gatherer.isGsdlRemote) {
-	    Gatherer.remoteGreenstoneServer.deleteCollectionFile(collection.getName(), lock_file);
+	    Gatherer.remoteGreenstoneServer.deleteCollectionFile(collection.getGroupQualifiedName(true), lock_file);
 	}
 
@@ -572,5 +572,5 @@
 
 	    // for remote case, scheduling causes an Exception on creating a new collection that 
-	    // can't be recovered from. For GS3, it doesn't work since it it trying to access etc/main.cfg
+	    // can't be recovered from. For GS3, it doesn't work since it is trying to access etc/main.cfg
 	    if (canDoScheduling()) {
 		scheduling();
@@ -583,5 +583,5 @@
 	    // Import default metadata sets, if any
 	    // for (int i = 0; metadata_sets != null && i < metadata_sets.size(); i++) {
-	    // importMetadataSet((MetadataSet) metadata_sets.get(i));
+	    // importMetadataSet((MetadataSecollection_namet) metadata_sets.get(i));
 	    // }
 
@@ -1106,5 +1106,5 @@
 		// If we're using a remote Greenstone server, upload the metadata file
 		if (Gatherer.isGsdlRemote) {
-		    Gatherer.remoteGreenstoneServer.uploadCollectionFile(collection.getName(), metadata_set_file);
+		    Gatherer.remoteGreenstoneServer.uploadCollectionFile(collection.getGroupQualifiedName(true), metadata_set_file);
 		}
 	    }
@@ -1169,7 +1169,10 @@
     {
 	DebugStream.println("Loading collection " + location + "...");
+	System.err.println("*** Loading collection " + location + "...");
 
 	if (Gatherer.isGsdlRemote) {
-	    String collection_name = location.substring(location.lastIndexOf(File.separator) + 1, location.length() - ".col".length());
+	    //String collection_name = location.substring(location.lastIndexOf(File.separator) + 1, location.length() - ".col".length());
+	    String collection_name = location.substring(0, location.lastIndexOf(File.separator));
+	    collection_name = Gatherer.remoteGreenstoneServer.getPathRelativeToDirectory(new File(collection_name), getDefaultCollectDirectory());
 	    if (Gatherer.remoteGreenstoneServer.downloadCollection(collection_name).equals("")) {
 		return;
@@ -1670,5 +1673,5 @@
 	    // If we're using a remote Greenstone server, delete the metadata file on the server
 	    if (Gatherer.isGsdlRemote) {
-		Gatherer.remoteGreenstoneServer.deleteCollectionFile(collection.getName(), metadata_set_file);
+		Gatherer.remoteGreenstoneServer.deleteCollectionFile(collection.getGroupQualifiedName(true), metadata_set_file);
 	    }
 	}
@@ -1806,6 +1809,6 @@
 		if (Gatherer.isGsdlRemote) {
 		    Gatherer.remoteGreenstoneServer.deleteCollectionFile(
-                             collection.getName(), new File(getLoadedCollectionIndexDirectoryPath()));
-		    Gatherer.remoteGreenstoneServer.moveCollectionFile(collection.getName(), 
+                             collection.getGroupQualifiedName(true), new File(getLoadedCollectionIndexDirectoryPath()));
+		    Gatherer.remoteGreenstoneServer.moveCollectionFile(collection.getGroupQualifiedName(true), 
                     new File(getLoadedCollectionBuildingDirectoryPath()), new File(getLoadedCollectionIndexDirectoryPath()));
 		}
Index: /gli/branches/glicolgroup/src/org/greenstone/gatherer/greenstone/LocalLibraryServer.java
===================================================================
--- /gli/branches/glicolgroup/src/org/greenstone/gatherer/greenstone/LocalLibraryServer.java	(revision 19667)
+++ /gli/branches/glicolgroup/src/org/greenstone/gatherer/greenstone/LocalLibraryServer.java	(revision 19668)
@@ -378,8 +378,4 @@
      * in an independently launched GSI (one not launched by GLI). */
     static public boolean isURLPending() {
-	/*if(Configuration.library_url != null) {
-	    System.err.println("**** Configuration.library_url: " + Configuration.library_url );
-	    return false; // don't need to do anything as we already have the url
-	    }*/
 
 	llssite_cfg_file.load(true); // don't force reload, load only if modified
@@ -426,4 +422,6 @@
 		Configuration.library_url = new URL(url);
 		running = true;
+		// Run the server interface
+		//Gatherer.spawnApplication(local_library_server_command, ID);
 	    }
 	    catch (MalformedURLException exception) {
Index: /gli/branches/glicolgroup/src/org/greenstone/gatherer/gui/DeleteCollectionPrompt.java
===================================================================
--- /gli/branches/glicolgroup/src/org/greenstone/gatherer/gui/DeleteCollectionPrompt.java	(revision 19667)
+++ /gli/branches/glicolgroup/src/org/greenstone/gatherer/gui/DeleteCollectionPrompt.java	(revision 19668)
@@ -293,5 +293,5 @@
 		    details.setCaretPosition(0);
 		} else { // trying to delete the collection that is open at present
-		    // add a tooltip saying to the confirmation checkbox saying that the current collection can't be deleted 
+		    // add a tooltip to the confirmation checkbox saying that the current collection can't be deleted 
 		    String tooltip = Dictionary.get("DeleteCollectionPrompt.Cannot_Delete_Open_Collection_Tooltip", 
 						    collection.getName());
Index: /gli/branches/glicolgroup/src/org/greenstone/gatherer/gui/ExplodeMetadataDatabasePrompt.java
===================================================================
--- /gli/branches/glicolgroup/src/org/greenstone/gatherer/gui/ExplodeMetadataDatabasePrompt.java	(revision 19667)
+++ /gli/branches/glicolgroup/src/org/greenstone/gatherer/gui/ExplodeMetadataDatabasePrompt.java	(revision 19668)
@@ -356,5 +356,5 @@
 		    Utility.delete(metadata_file.getParentFile());
 		    Gatherer.remoteGreenstoneServer.downloadCollectionFile(
-                             CollectionManager.getLoadedCollectionName(), metadata_file.getParentFile());
+                             CollectionManager.getLoadedGroupQualifiedCollectionName(true), metadata_file.getParentFile());
 		}
 
Index: /gli/branches/glicolgroup/src/org/greenstone/gatherer/gui/Preferences.java
===================================================================
--- /gli/branches/glicolgroup/src/org/greenstone/gatherer/gui/Preferences.java	(revision 19667)
+++ /gli/branches/glicolgroup/src/org/greenstone/gatherer/gui/Preferences.java	(revision 19668)
@@ -1032,5 +1032,5 @@
 		    if (Gatherer.c_man.getCollection()!=null){
 			File lock_file = new File(Gatherer.c_man.getLoadedCollectionDirectoryPath() + "gli.lck");
-			Gatherer.remoteGreenstoneServer.deleteCollectionFile(Gatherer.c_man.getLoadedCollectionName(),lock_file);
+			Gatherer.remoteGreenstoneServer.deleteCollectionFile(Gatherer.c_man.getLoadedGroupQualifiedCollectionName(true),lock_file);
 			Gatherer.g_man.closeCurrentCollection();
 		    }
Index: /gli/branches/glicolgroup/src/org/greenstone/gatherer/gui/ReplaceSrcDocWithHtmlPrompt.java
===================================================================
--- /gli/branches/glicolgroup/src/org/greenstone/gatherer/gui/ReplaceSrcDocWithHtmlPrompt.java	(revision 19667)
+++ /gli/branches/glicolgroup/src/org/greenstone/gatherer/gui/ReplaceSrcDocWithHtmlPrompt.java	(revision 19668)
@@ -394,5 +394,5 @@
 			// into the import directory on the client side
 			Gatherer.remoteGreenstoneServer.downloadCollectionFile(
-					      CollectionManager.getLoadedCollectionName(),
+					      CollectionManager.getLoadedGroupQualifiedCollectionName(true),
 					      new File(srcdoc_files[i].getParentFile(), htmlFile));
 			
@@ -401,7 +401,7 @@
 			
 			// If an associated_folder by such a name exists, download it
-			if(Gatherer.remoteGreenstoneServer.exists(CollectionManager.getLoadedCollectionName(), assoc_folder)) {
+			if(Gatherer.remoteGreenstoneServer.exists(CollectionManager.getLoadedGroupQualifiedCollectionName(true), assoc_folder)) {
 			    Gatherer.remoteGreenstoneServer.downloadCollectionFile(
-			                        CollectionManager.getLoadedCollectionName(), assoc_folder);
+			                        CollectionManager.getLoadedGroupQualifiedCollectionName(true), assoc_folder);
 			}
 		    }
Index: /gli/branches/glicolgroup/src/org/greenstone/gatherer/metadata/MetadataXMLFileManager.java
===================================================================
--- /gli/branches/glicolgroup/src/org/greenstone/gatherer/metadata/MetadataXMLFileManager.java	(revision 19667)
+++ /gli/branches/glicolgroup/src/org/greenstone/gatherer/metadata/MetadataXMLFileManager.java	(revision 19668)
@@ -369,5 +369,5 @@
 	    // Upload the files modified since last time, then reset the list
 	    Gatherer.remoteGreenstoneServer.uploadCollectionFiles(
-                  CollectionManager.getLoadedCollectionName(), (File[]) modified_metadata_xml_files.toArray(new File[0]));
+                  CollectionManager.getLoadedGroupQualifiedCollectionName(true), (File[]) modified_metadata_xml_files.toArray(new File[0]));
 	    modified_metadata_xml_files.clear();
 	}
Index: /gli/branches/glicolgroup/src/org/greenstone/gatherer/metadata/ProfileXMLFile.java
===================================================================
--- /gli/branches/glicolgroup/src/org/greenstone/gatherer/metadata/ProfileXMLFile.java	(revision 19667)
+++ /gli/branches/glicolgroup/src/org/greenstone/gatherer/metadata/ProfileXMLFile.java	(revision 19668)
@@ -110,5 +110,5 @@
 	// This is inefficient but for simplicity we'll just upload the file every time it is changed
 	if (Gatherer.isGsdlRemote) {
-	    Gatherer.remoteGreenstoneServer.uploadCollectionFile(CollectionManager.getLoadedCollectionName(), this);
+	    Gatherer.remoteGreenstoneServer.uploadCollectionFile(CollectionManager.getLoadedGroupQualifiedCollectionName(true), this);
 	}
 
Index: /gli/branches/glicolgroup/src/org/greenstone/gatherer/remote/RemoteGreenstoneServerAction.java
===================================================================
--- /gli/branches/glicolgroup/src/org/greenstone/gatherer/remote/RemoteGreenstoneServerAction.java	(revision 19667)
+++ /gli/branches/glicolgroup/src/org/greenstone/gatherer/remote/RemoteGreenstoneServerAction.java	(revision 19668)
@@ -109,5 +109,5 @@
 	public DeleteCollectionAction(String collection_name)
 	{
-	    this.collection_name = collection_name;
+	    this.collection_name = collection_name; //.replace('/', File.separatorChar); // if colgroup contained url slashes
 	}
 
@@ -137,5 +137,5 @@
 	public DeleteCollectionFileAction(String collection_name, File collection_file)
 	{
-	    this.collection_name = collection_name;
+	    this.collection_name = collection_name; //.replace('/', File.separatorChar); // if colgroup contained url slashes
 	    this.collection_file = collection_file;
 	}
@@ -146,4 +146,6 @@
 	    String collection_directory_path = CollectionManager.getCollectionDirectoryPath(collection_name);
 	    String collection_file_relative_path = remote.getPathRelativeToDirectory(collection_file, collection_directory_path);
+	    System.err.println("**** DeleteCollectionFile.\n\tcol_file: "+collection_file + "\n\t" + collection_directory_path);
+
 	    collection_file_relative_path = collection_file_relative_path.replaceAll((Utility.isWindows() ? "\\\\" : "\\/"), "|");
 	    progress_bar.setAction("Deleting collection file " + collection_file_relative_path + "...");
@@ -176,4 +178,5 @@
 	{
 	    progress_bar.setAction("Downloading remote collection " + collection_name + "...");
+	    System.err.println("*** RGSAction.DownloadCollectionAction, col_name: " + collection_name);
 
 	    String download_collection_command = "cmd=download-collection";
@@ -613,5 +616,5 @@
 	public UploadFilesIntoCollectionAction(String collection_name, File[] source_files, File target_collection_directory)
 	{
-	    this.collection_name = collection_name;
+	    this.collection_name = collection_name; //.replace('/', File.separatorChar); // if colgroup contained url slashes
 	    this.source_files = source_files;
 	    this.target_collection_directory = target_collection_directory;
