Index: AE/installer2/src/net/oni2/aeinstaller/AEInstaller.properties
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/AEInstaller.properties	(revision 632)
+++ AE/installer2/src/net/oni2/aeinstaller/AEInstaller.properties	(revision 633)
@@ -1,2 +1,2 @@
 appname=AE Installer 2
-appversion=0.91
+appversion=0.92a
Index: AE/installer2/src/net/oni2/aeinstaller/AEInstaller2.java
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/AEInstaller2.java	(revision 632)
+++ AE/installer2/src/net/oni2/aeinstaller/AEInstaller2.java	(revision 633)
@@ -123,5 +123,4 @@
 		JFrame.setDefaultLookAndFeelDecorated(true);
 
-		// TODO: Remove debug output
 		System.out.println("JarPath:   " + Paths.getInstallerPath());
 		System.out.println("PrefsPath: " + Paths.getPrefsPath());
Index: AE/installer2/src/net/oni2/aeinstaller/backend/depot/DepotManager.java
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/backend/depot/DepotManager.java	(revision 632)
+++ AE/installer2/src/net/oni2/aeinstaller/backend/depot/DepotManager.java	(revision 633)
@@ -72,15 +72,4 @@
 		taxonomyVocabulary.clear();
 
-		HashMap<Integer, Node> oldNodes = null;
-		HashMap<Integer, File> oldFiles = null;
-
-		if (forceRefreshAll) {
-			oldNodes = new HashMap<Integer, Node>();
-			oldFiles = new HashMap<Integer, File>();
-		} else {
-			oldNodes = nodes;
-			oldFiles = files;
-		}
-
 		nodes = new HashMap<Integer, Node>();
 		nodesByType = new HashMap<String, HashMap<Integer, Node>>();
@@ -90,99 +79,27 @@
 			JSONArray ja;
 			JSONObject jo;
-			int page;
-
-			// Get taxonomy vocabulary
-			if (listener != null)
-				listener.cacheUpdateProgress("Updating taxonomy vocabulary", 0,
-						100);
-			page = 0;
-			do {
-				ja = DrupalJSONQuery.getIndex("taxonomy_vocabulary", page, 100);
-				for (int i = 0; i < ja.length(); i++) {
-					jo = ja.getJSONObject(i);
-					TaxonomyVocabulary tv = new TaxonomyVocabulary(jo);
-					taxonomyVocabulary.put(tv.getVid(), tv);
-				}
-				page++;
-			} while (ja.length() > 0);
-
-			// Get taxonomy terms
-			if (listener != null)
-				listener.cacheUpdateProgress("Updating taxonomy terms", 0, 100);
-			page = 0;
-			do {
-				ja = DrupalJSONQuery.getIndex("taxonomy_term", page, 100);
-				for (int i = 0; i < ja.length(); i++) {
-					jo = ja.getJSONObject(i);
-					TaxonomyTerm tt = new TaxonomyTerm(jo);
-					taxonomyTerms.put(tt.getTid(), tt);
-				}
-				page++;
-			} while (ja.length() > 0);
-
-			// Check nodes for new information
-			if (listener != null)
-				listener.cacheUpdateProgress("Checking for new/updated nodes",
-						1, 100);
-			HashSet<Integer> nodesToUpdate = new HashSet<Integer>();
-			page = 0;
-			do {
-				ja = DrupalJSONQuery.getIndex("node", page, 500);
-				for (int i = 0; i < ja.length(); i++) {
-					jo = ja.getJSONObject(i);
-					int nid = jo.getInt("nid");
-					long changedRemote = jo.getLong("changed");
-					if (oldNodes.containsKey(nid)) {
-						if (changedRemote > oldNodes.get(nid).getChanged())
-							nodesToUpdate.add(nid);
-						else {
-							Node n = oldNodes.get(nid);
-							nodes.put(nid, n);
-							if (!nodesByType.containsKey(n.getType()))
-								nodesByType.put(n.getType(),
-										new HashMap<Integer, Node>());
-							nodesByType.get(n.getType()).put(nid, n);
-						}
-					} else {
-						nodesToUpdate.add(nid);
-					}
-				}
-				page++;
-			} while (ja.length() > 0);
-
-			// Check files for new stuff
-			if (listener != null)
-				listener.cacheUpdateProgress("Checking for new/updated files",
-						2, 100);
-			HashSet<Integer> filesToUpdate = new HashSet<Integer>();
-			page = 0;
-			do {
-				ja = DrupalJSONQuery.getIndex("file", page, 500);
-				for (int i = 0; i < ja.length(); i++) {
-					jo = ja.getJSONObject(i);
-					int fid = jo.getInt("fid");
-					long changedRemote = jo.getLong("timestamp");
-					if (oldFiles.containsKey(fid)) {
-						if (changedRemote > oldFiles.get(fid).getTimestamp())
-							filesToUpdate.add(fid);
-						else
-							files.put(fid, oldFiles.get(fid));
-					} else {
-						filesToUpdate.add(fid);
-					}
-				}
-				page++;
-			} while (ja.length() > 0);
-
-			int total = nodesToUpdate.size() + filesToUpdate.size() + 3;
-			int step = 3;
-			// Update nodes with new information
-			for (int nid : nodesToUpdate) {
-				if (listener != null)
-					listener.cacheUpdateProgress("Updating nodes", step++,
-							total);
-
-				ja = DrupalJSONQuery.getItem("node", nid, "");
-				jo = ja.getJSONObject(0);
+
+			ja = DrupalJSONQuery
+					.executeQuery("http://mods.oni2.net/jsoncache/vocabulary.json");
+			for (int i = 0; i < ja.length(); i++) {
+				jo = ja.getJSONObject(i);
+				TaxonomyVocabulary tv = new TaxonomyVocabulary(jo);
+				taxonomyVocabulary.put(tv.getVid(), tv);
+			}
+
+			ja = DrupalJSONQuery
+					.executeQuery("http://mods.oni2.net/jsoncache/terms.json");
+			for (int i = 0; i < ja.length(); i++) {
+				jo = ja.getJSONObject(i);
+				TaxonomyTerm tt = new TaxonomyTerm(jo);
+				taxonomyTerms.put(tt.getTid(), tt);
+			}
+
+			ja = DrupalJSONQuery
+					.executeQuery("http://mods.oni2.net/jsoncache/nodes.json");
+			for (int i = 0; i < ja.length(); i++) {
+				jo = ja.getJSONObject(i);
+
+				int nid = jo.getInt("nid");
 				String type = jo.getString("type");
 
@@ -199,12 +116,10 @@
 			}
 
-			// Update new files
-			for (int fid : filesToUpdate) {
-				if (listener != null)
-					listener.cacheUpdateProgress("Updating files", step++,
-							total);
-
-				ja = DrupalJSONQuery.getItem("file", fid, "&file_contents=0");
-				jo = ja.getJSONObject(0);
+			ja = DrupalJSONQuery
+					.executeQuery("http://mods.oni2.net/jsoncache/files.json");
+			for (int i = 0; i < ja.length(); i++) {
+				jo = ja.getJSONObject(i);
+
+				int fid = jo.getInt("fid");
 
 				File f = new File(jo);
Index: AE/installer2/src/net/oni2/aeinstaller/backend/network/DrupalJSONQuery.java
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/backend/network/DrupalJSONQuery.java	(revision 632)
+++ AE/installer2/src/net/oni2/aeinstaller/backend/network/DrupalJSONQuery.java	(revision 633)
@@ -5,19 +5,10 @@
 import java.io.InputStreamReader;
 import java.io.UnsupportedEncodingException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-
-import net.oni2.aeinstaller.backend.depot.DepotConfig;
 
 import org.apache.http.HttpEntity;
 import org.apache.http.HttpResponse;
-import org.apache.http.NameValuePair;
-import org.apache.http.client.entity.UrlEncodedFormEntity;
 import org.apache.http.client.methods.HttpGet;
-import org.apache.http.client.methods.HttpPost;
 import org.apache.http.client.methods.HttpRequestBase;
 import org.apache.http.impl.client.DefaultHttpClient;
-import org.apache.http.message.BasicNameValuePair;
 import org.apache.http.util.EntityUtils;
 import org.json.JSONArray;
@@ -31,100 +22,13 @@
 
 	/**
-	 * Execute an REST action through a HTTP POST query
+	 * Get the JSON array found at the given url
 	 * 
-	 * @param resource
-	 *            Resource to run on
-	 * @param action
-	 *            Action to call
-	 * @param postData
-	 *            Fieldname / value pairs to include in POST data
-	 * @return JSON structure of item
+	 * @param url
+	 *            URL to look at for the JSON data
+	 * @return JSON array of data
 	 * @throws Exception
-	 *             on HTTP error
+	 *             On HTTP status code <200 / >299
 	 */
-	public static JSONArray postAction(String resource, String action,
-			HashMap<String, String> postData) throws Exception {
-		try {
-			List<NameValuePair> nvps = new ArrayList<NameValuePair>();
-			for (String key : postData.keySet()) {
-				nvps.add(new BasicNameValuePair(key, postData.get(key)));
-			}
-			HttpEntity data = new UrlEncodedFormEntity(nvps);
-			return executeQuery(DepotConfig.getDepotApiUrl() + resource + "/" + action
-					+ ".json", data);
-		} catch (UnsupportedEncodingException e) {
-			e.printStackTrace();
-		}
-		return null;
-	}
-
-	/**
-	 * Execute an REST references query through a HTTP GET query
-	 * 
-	 * @param resource
-	 *            Resource to run on
-	 * @param index
-	 *            Index of item to get the references from
-	 * @param refName
-	 *            Name of references type
-	 * @return JSON structure of item
-	 * @throws Exception
-	 *             on HTTP error
-	 */
-	public static JSONArray getReferences(String resource, int index,
-			String refName) throws Exception {
-		return executeQuery(
-				DepotConfig.getDepotApiUrl() + resource + "/" + Integer.toString(index) + "/"
-						+ refName + ".json", null);
-	}
-
-	/**
-	 * Execute an REST item query through a HTTP GET query
-	 * 
-	 * @param resource
-	 *            Resource to run on
-	 * @param index
-	 *            Index of item to get
-	 * @param parameters
-	 *            Parameters to pass (must start with ampersand "&")
-	 * @return JSON structure of item
-	 * @throws Exception
-	 *             on HTTP error
-	 */
-	public static JSONArray getItem(String resource, int index,
-			String parameters) throws Exception {
-		return executeQuery(
-				DepotConfig.getDepotApiUrl() + resource + "/" + Integer.toString(index)
-						+ ".json" + parameters, null);
-	}
-
-	/**
-	 * Execute an REST index query through a HTTP GET query
-	 * 
-	 * @param resource
-	 *            Resource to run on
-	 * @param page
-	 *            Number of page to get (for limited results, e.g. nodes), -1 to
-	 *            ignore
-	 * @param pagesize
-	 *            Maximum number of elements to return
-	 * @return JSON structure of item
-	 * @throws Exception
-	 *             on HTTP error
-	 */
-	public static JSONArray getIndex(String resource, int page, int pagesize)
-			throws Exception {
-		String pageN = "";
-		if (page >= 0)
-			pageN = "&page=" + Integer.toString(page);
-		String pagesizeN = "";
-		if (pagesize >= 0)
-			pagesizeN = "&pagesize=" + Integer.toString(pagesize);
-		return executeQuery(DepotConfig.getDepotApiUrl() + resource + ".json" + pageN
-				+ pagesizeN, null);
-	}
-
-	private static JSONArray executeQuery(String url, HttpEntity postData)
-			throws Exception {
+	public static JSONArray executeQuery(String url) throws Exception {
 		BufferedReader input = null;
 		HttpRequestBase httpQuery = null;
@@ -132,10 +36,5 @@
 		try {
 			DefaultHttpClient httpclient = new DefaultHttpClient();
-			if (postData == null) {
-				httpQuery = new HttpGet(url);
-			} else {
-				httpQuery = new HttpPost(url);
-				((HttpPost) httpQuery).setEntity(postData);
-			}
+			httpQuery = new HttpGet(url);
 
 			HttpResponse response = httpclient.execute(httpQuery);
Index: AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.java
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.java	(revision 632)
+++ AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.java	(revision 633)
@@ -181,4 +181,5 @@
 			}
 		}
+
 		ModManager.getInstance().init();
 		tblMods.reloadData();
