diff --git a/MeetingAgendasNotes.wiki b/MeetingAgendasNotes.wiki
index ef74d07..bd049b9 100644
--- a/MeetingAgendasNotes.wiki
+++ b/MeetingAgendasNotes.wiki
@@ -29,10 +29,37 @@
   # Update on GSoC Projects
   # Round the table
 
-=== Meeting notes 19 Jul 2010 ===
-
-  * TBA
-
+=== Meeting notes 26 Jul 2010 ===
+  * Attendance:
+    * Savitha couldn't participate.
+  * Update on GSoC projects:
+    * Data Seeder:
+      * Seeding process is fully functional using a simple view.
+      * Felix is currently attempting to integrate an AppEngine MapReduce framework.
+      * He will mail the dev list and CC durin42@gmail.com about where to place thirdparty libraries (currently in app/). 
+    * Document Editor:
+      * Pavel Last week fixed issues in the logic code pointed out by Daniel
+      * He reimplemented "show diff" button using Mario's patch to the lists framework.
+      * He started working on revisions for StudentProposal, but came across the problem
+        * StudentProposal has two fields: "content" and "abstract", which must be versioned.
+        * Current implementation of RevisionContent model allows to store only one field.
+        * Daniel proposed to store multiple fields as a JSON document. This approach is easy to use and scalable.
+      * He will reimplement revisions using JSON and implement revisions for StudentProposals this week.
+      * Sverre is worried about tests for his code. He will add tests this week.
+    * Social Features:
+      * Savitha wound up calendars features mostly. She used the javascript maps package to let users specify exact location of event so it can be used along with CalVis maps features.
+      * She also worked on CSS designs for CalVis Calendars.
+      * She will start to work on Maps feature/view for all users and events this week. 
+    * Testing:
+      * Leo mainly worked on low coverage modules, e.g. soc.tasks.surveys, soc.tasks.grading_survey_group and etc this week.
+      * He has managed to increase the testing coverage of Melange to over 55%.
+      * He will clean up the code and will commit and push them.
+      * One problem he met is that there is no api proxy stub available for service "taskqueue" yet, so it raises an error "ERROR:root:No api proxy found for service "taskqueue". He is also working on it.
+     * In the next two weeks, He aims to increase the testing coverage of Melange to over 60% and increase the testing coverage of those modules below 50% (40% at least) to over 50%. 
+  * *Action items:*
+    * Students should continue/start to add tests to their code. 
+    * Mario will try JS-Test-Driver along with YUI Test 3 and see if it works :) 
+    * Mario has done some inspecting about JSTestDriver and YUITest. YUITest seems still active (version 3 now), and he prefers this testing framework as it's the one that suits better our needs, especially about testing asynchronous code. He's not sure about the correct integration between JSTestDriver and YUITest, as one post on JTD mailing list says it's not working, but the wiki seems to say the opposite. So he needs to try it out and see if everything works.
 == 19 Jul 2010 Team Conference Call == 
 
 * Chaired by:* Sverre Rabbelier <br/>
