Index: lib/metacat.properties.metadata.xml
===================================================================
--- lib/metacat.properties.metadata.xml	(revision 5027)
+++ lib/metacat.properties.metadata.xml	(revision 5028)
@@ -21,6 +21,18 @@
 		<name>Data Manager Configuration</name>
 		<description>Data Manager Configuration Values.</description>
 	</group>
+	
+	<config>
+		<key>application.default-style</key>
+		<label>Default Skin Style</label>
+		<group>0</group>
+		<index>0</index>
+		<fieldType>hidden</fieldType>
+		<description>
+			Default skin type. Not shown on config page but we want it to backup.
+		</description>
+		<helpFile>properties.html#application.default-style</helpFile>
+	</config>
 
 	<config>
 		<key>database.user</key>
Index: lib/admin/auth-configuration.jsp
===================================================================
--- lib/admin/auth-configuration.jsp	(revision 5027)
+++ lib/admin/auth-configuration.jsp	(revision 5028)
@@ -64,6 +64,9 @@
 		Map<Integer, MetaDataGroup> groupMap = metadata.getGroups();
 		Set<Integer> groupIdSet = groupMap.keySet();
 		for (Integer groupId : groupIdSet) {
+			if (groupId == 0) {
+				continue;
+			}
 			// for this group, display the header (group name)
 			MetaDataGroup metaDataGroup = (MetaDataGroup)groupMap.get(groupId);
 %>
Index: lib/admin/skins-configuration.jsp
===================================================================
--- lib/admin/skins-configuration.jsp	(revision 5027)
+++ lib/admin/skins-configuration.jsp	(revision 5028)
@@ -109,6 +109,9 @@
 		Map<Integer, MetaDataGroup> metaDataGroups = metaData.getGroups();
 		Set<Integer> groupKeys = metaDataGroups.keySet();
 		for (Integer groupkey : groupKeys) {
+			if (groupkey == 0) {
+				continue;
+			}
 			SortedMap<Integer, MetaDataProperty> propertyMap = metaData.getPropertiesInGroup(groupkey);
 			Set<Integer> propertyKeys = propertyMap.keySet();
 %>
Index: lib/admin/properties-configuration.jsp
===================================================================
--- lib/admin/properties-configuration.jsp	(revision 5027)
+++ lib/admin/properties-configuration.jsp	(revision 5028)
@@ -58,10 +58,30 @@
 		// each group describes a section of properties
 		Map<Integer, MetaDataGroup> groupMap = metadata.getGroups();
 		Set<Integer> groupIdSet = groupMap.keySet();
+
+		
 		for (Integer groupId : groupIdSet) {
 			// for this group, display the header (group name)
 			MetaDataGroup metaDataGroup = (MetaDataGroup)groupMap.get(groupId);
+			if (groupId == 0) {
+				// get all the properties in this group
+				Map<Integer, MetaDataProperty> propertyMap = 
+					metadata.getPropertiesInGroup(metaDataGroup.getIndex());
+				Set<Integer> propertyIndexes = propertyMap.keySet();
+				// iterate through each property and display appropriately
+				for (Integer propertyIndex : propertyIndexes) {
+					MetaDataProperty metaDataProperty = propertyMap.get(propertyIndex);
+	    			String fieldType = metaDataProperty.getFieldType(); 
+	    			if (fieldType.equals("hidden")) {
 %>
+						<input type="hidden"
+                               name="<%= metaDataProperty.getKey() %>" 	             		    	    	           		    	             			
+	           		    	   value="<%= request.getAttribute(metaDataProperty.getKey()) %>"/>
+<%
+	    			}
+				}
+			} else {		
+%>
 		<h3><%= metaDataGroup.getName()  %></h3>
 		<hr class="config-line">
 <%
@@ -134,7 +154,9 @@
 <%
     			}
 			}
+			}
 		}
+			
 	}
 %>
 
Index: src/edu/ucsb/nceas/metacat/service/PropertyService.java
===================================================================
--- src/edu/ucsb/nceas/metacat/service/PropertyService.java	(revision 5027)
+++ src/edu/ucsb/nceas/metacat/service/PropertyService.java	(revision 5028)
@@ -368,7 +368,7 @@
 	/**
 	 * Writes out backup configurable properties to a file.
 	 */
-	public static void persistMainBackupProperties(ServletContext servletContext)
+	public static void persistMainBackupProperties()
 			throws GeneralPropertyException {
 
 		// Use the metadata to extract configurable properties from the 
Index: src/edu/ucsb/nceas/metacat/admin/SkinsAdmin.java
===================================================================
--- src/edu/ucsb/nceas/metacat/admin/SkinsAdmin.java	(revision 5027)
+++ src/edu/ucsb/nceas/metacat/admin/SkinsAdmin.java	(revision 5028)
@@ -41,7 +41,6 @@
 import edu.ucsb.nceas.metacat.service.SkinPropertyService;
 import edu.ucsb.nceas.metacat.util.RequestUtil;
 import edu.ucsb.nceas.metacat.util.SkinUtil;
-import edu.ucsb.nceas.utilities.FileUtil;
 import edu.ucsb.nceas.utilities.MetaDataProperty;
 import edu.ucsb.nceas.utilities.PropertiesMetaData;
 import edu.ucsb.nceas.utilities.GeneralPropertyException;
@@ -227,27 +226,15 @@
 					// configure form and preserve their entries.
 					validationErrors.addAll(validateOptions(request, skinName));
 
-//					// Try to create backup directories if necessary.
-//					String backupDir = PropertyService.getBackupDir();
-//					try {
-//						FileUtil.createDirectory(backupDir);
-//					} catch (IOException ioe) {	
-//						String errorString = "Could not create directory: " + backupDir +
-//							" : " + ioe.getMessage();
-//						logMetacat.error(errorString);
-//						validationErrors.add(errorString);
-//					}
-
 					// write the backup properties to a location outside the
 					// application directories so they will be available after
 					// the next upgrade
 					SkinPropertyService.persistBackupProperties(skinName);
+					PropertyService.persistMainBackupProperties();
 				}
 				
-				// Now that the options have been set, change the
-				// 'skinsConfigured'
-				// option to 'true' so that normal metacat requests will go
-				// through
+				// Now that the options have been set, change the 'skinsConfigured'
+				// option to 'true' so that normal metacat requests will go through
 				PropertyService.setProperty("configutil.skinsConfigured",
 						PropertyService.CONFIGURED);
 			} catch (GeneralPropertyException gpe) {
Index: src/edu/ucsb/nceas/metacat/admin/PropertiesAdmin.java
===================================================================
--- src/edu/ucsb/nceas/metacat/admin/PropertiesAdmin.java	(revision 5027)
+++ src/edu/ucsb/nceas/metacat/admin/PropertiesAdmin.java	(revision 5028)
@@ -258,8 +258,7 @@
 				// write the backup properties to a location outside the 
 				// application directories so they will be available after
 				// the next upgrade
-				PropertyService.persistMainBackupProperties(
-						request.getSession().getServletContext());
+				PropertyService.persistMainBackupProperties();
 
 			} catch (GeneralPropertyException gpe) {
 				String errorMessage = "Problem getting or setting property while "
Index: src/edu/ucsb/nceas/metacat/admin/GeoserverAdmin.java
===================================================================
--- src/edu/ucsb/nceas/metacat/admin/GeoserverAdmin.java	(revision 5027)
+++ src/edu/ucsb/nceas/metacat/admin/GeoserverAdmin.java	(revision 5028)
@@ -188,8 +188,7 @@
 					// write the backup properties to a location outside the
 					// application directories so they will be available after
 					// the next upgrade
-					PropertyService.persistMainBackupProperties(request.getSession()
-							.getServletContext());
+					PropertyService.persistMainBackupProperties();
 				}
 			} catch (MetacatUtilException ue) {
 				String errorMessage = "Error updating geoserver password: " + ue.getMessage();
Index: src/edu/ucsb/nceas/metacat/admin/DBAdmin.java
===================================================================
--- src/edu/ucsb/nceas/metacat/admin/DBAdmin.java	(revision 5027)
+++ src/edu/ucsb/nceas/metacat/admin/DBAdmin.java	(revision 5028)
@@ -225,8 +225,7 @@
 				// Write out the configurable properties to a backup file
 				// outside the install directory.
 
-				PropertyService.persistMainBackupProperties(request.getSession()
-						.getServletContext());
+				PropertyService.persistMainBackupProperties();
 			} catch (GeneralPropertyException gpe) {
 				throw new AdminException("Problem getting or setting property while "
 						+ "upgrading database: " + gpe.getMessage());
