diff --git a/GSoC2011IntegrationWithExternalAPIs.wiki b/GSoC2011IntegrationWithExternalAPIs.wiki
index bf20653..ae0111a 100644
--- a/GSoC2011IntegrationWithExternalAPIs.wiki
+++ b/GSoC2011IntegrationWithExternalAPIs.wiki
@@ -15,17 +15,26 @@
 ===Problems & Solutions===
  * *Problem:* exporting a JavaScript list
  * *Solution:* export spreadsheet on client side. Implement JS methods over GData Protocols.
+ * *Problem:* Making cross domain requests
+ * *Solution:* Use an proxy url to emulate cross-domain requests. See blog post from [http://melange-dev.blogspot.com/2011/08/gsoc-2011-integration-with-external.html, week10] and [http://melange-dev.blogspot.com/2011/08/gsoc-2011-integration-with-external_08.html Week11].
+ * *Problem:* Uploading chunks of data.
+ * *Solution:* For current Spreadsheet API it's not possible to add multiple rows with a batch requests. We used uploading document as csv and converting it to native spreadsheets format after upload. Uploading multiple chunks of a big data prevents converting after upload. So we can't export very large lists.
+
+===Result===
 
 == 2.2 Student Proposals ==
 ===Overview ===
 Students will be able to edit their proposals through tinyMCE editor or link to a Google Document file. There will be a "Sync Now" button to syncronize proposal that Melage holds with actual Google Documents file.
 ===Problems & Solutions ===
  * *Problem:* Student may not be awere that proposal is syncronised only when he/she clicks "Sync Now" button.
- * *Solution1:* Give responsibility to student.
- * *Solution2:* Sync proposal with stored ACL. Check for single revisions and get the closest revision to deadline.
+ * *Solution:* Give responsibility to student.
+
 
  * *Problem:* As Google Documents stores HTML files in full-HTML form (including images, css files etc.) a method must be implemented to embed that document to actual proposal entry.
- * *Solution:* 
+ * *Solution:* Google Documents no longer supports HTML editing. We export document format documents as HTML. This document comes style embed in. 
+
+=== Result ===
+Syncing proposal is student's responsibity. Student selects it's document through an autocomplete widget after logged in to Google Documents. 
 
 == 2.3 Surveys (issue 1243) ==
 ===Overview===
@@ -58,30 +67,13 @@
 = 5. Design & Terminology = 
 == 5.1 Open Auth Roundtrip ==
 https://lh3.googleusercontent.com/-G5GUxfUdXS0/TgC_I0dXVmI/AAAAAAAAADI/hAGOlYZngq0/s640/MelangeOAuth%252520%2525281%252529.png
-== 5.2 Resource ==
+== 5.2 Popup OAuth Mechanism ==
+It's important to authenticate user without leaving page especially if user has some unposted data on page. Popup mechanism works in the following way.
+ * Developer includes 'melange.gdata.core.js' dependency to it's page that uses GData features.
+ * A function that uses GData features turns itself to a login required function with myfunc = melange.gdata.createAuthorizedFunction(myfunc, [])
+ * When generated myfunc function is run, it triggers popup roundtrip if user is not logged in to GDocs.
+ * After authentication finishes, popup closes itself after telling parent window login is successful and parent window resumes execution of myfunc function that is intended to run.
 
-Resource is a document or file that is exported to GDocs and being kept track of. When Melange exports a document to GDocs it will store returned document ID from Google Documents API. This document should be associated with user for whom resource exported for, and with a unique key that tells where the resource exported from. This shows the basic structure of Resource class:
-
-{{{
-class Resource(db.Model):
-  """Model of an exported Google Docs resource
-  """
-
-  #: Required field storing "ID" of exported resource.
-  #: This value is returned from Google Documents at first upload.
-  resource_id = db.StringProperty(required=True)
-
-  #: Name of the resource. This value is changed only when
-  #: actual name of exported Google document changes.
-  resource_name = db.StringProperty(required=True)
-
-  #: Owner of document for whom document exported for, and 
-  #: whose Google Documents account is expected to has the resource.
-  owner = db.ReferenceProperty(reference_class=soc.models.user.User,
-                               required=True,
-                               collection_name='exported_documents',
-                               verbose_name=ugettext('Owner'))
-}}}
 ----
 =6. Meeting Notes & Agendas =
 == Monday, May 16 18:30:00 in UTC (Skype Conference)==
@@ -110,4 +102,10 @@
 
 == Monday, July 21 20:00:00 in UTC (GTalk with Mario) ==
 === Notes ===
-It's not convenient to export lists from server side. GAE has 30 second request limit that may prevent uploading big lists. Instead of that, we can upload spreadsheets with JS over GData rest protocol. 
\ No newline at end of file
+It's not convenient to export lists from server side. GAE has 30 second request limit that may prevent uploading big lists. Instead of that, we can upload spreadsheets with JS over GData rest protocol. 
+
+== Agust 6 20:00:00 in UTC (GTalk with Mario) ==
+=== Notes ===
+ * We talked about how to eliminate cross-domain requests by emulating them with a proxy URL. 
+ * Mario stressed: "Those are nice-to-have, the issues are filed directly by Carol so obviously they have high priority" 
+ * He also warned me about updating wiki more frequently.
\ No newline at end of file
