Research Log of Web Science Students

Computer Science is not simply programming

Posts Tagged ‘Google Docs

Rubrics using Google Spreadsheets

leave a comment »

We almost gave up on using Google Spreadsheets for the rubric creation–until our last project planning. What we were planning to do is to create our own rubric creator using GWT–but I think there’s no way for us to implement the collaboration function (similar to that of Google Docs) given the timeframe.

So now, this is our current plan on how to implement the rubric:

(1) Make Projectrix create a new Spreadsheet — Done by Dan before.

(2) Insert rubric headers — The new rubric will include a scale for the top row (incrementing from left to right) and any additional row will be a new criterion.*

(3) Make Projectrix access the ATOM feed of the Spreadsheet (like in our sample rubric: http://spreadsheets.google.com/feeds/list/tigT9uc4x8-o7e4d7NrVd2w/od6/public/basic)

(4) Use open source ATOM parsers (here’s a running list: http://java-source.net/open-source/rss-rdf-tools) to parse the ATOM feed

(5) Insert the parsed text to the empty table** in Projectrix.

* Google Spreadsheets API provides steps on how one can update Spreadsheet rows (follow: http://code.google.com/apis/spreadsheets/data/3.0/developers_guide_protocol.html#UpdatingListRows)

** The rubric table in Projectrix is entirely independent from the Spreadsheet–the only role of the Spreadsheet is to provide the rubric table with its contents. But without the text from the Spreadsheet, the rubric will actually work–albeit defeating the purpose.

Projectrix won’t save the contents of the Spreadsheet until it’s published. We’ll be doing the same action selections as iRubric (Create, Modify (for unpublished rubrics), and Duplicate).

My priority task is to find out solutions for points (3) and (4). Will update on which parser we’ll be using prolly later today or tomorrow.

Written by falloutkee

November 24, 2009 at 6:27 am

getAuthUrl Error

leave a comment »

We’re getting an error refactoring the whole app so multiple users can log in and get tokens at the same time. Here’s an exerpt of the stack trace:

java.lang.NullPointerException
	at com.projectrix.oauth.model.impl.GoogleDocs.getAuthUrl(GoogleDocs.java:49)
	at com.projectrix.controller.OAuthController.authorize(OAuthController.java:76)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)

And this is what line 77 of OAuthController.java looks like:


authUrl = provider.getAuthUrl();

The getAuthURL method is where oauthParameters (consumerKey, consumerSecret and scope) are set and the OAuthHmacSha1Signer, GoogleOAuthHelper and the oauth_callback are instantiated. This is also where oauthHelper, oauth_callback and oauthParameters are given values by calling in getUnauthorizedRequestToken for oauthHelper, by appending StringBuilder values for oauth_callback and by calling in setOAuthCallback for oauthParameters. The method returns an approvalPageUrl (authUrl) string which was acquired by oauthHelper.createUserAuthorizationUrl(oauthParameters). The tutorials are found here.

What do I do? Maybe we’re looking at the wrong place. *Investigating now* =)

Written by Daniela

October 8, 2009 at 6:07 pm

Posted in ProjectriX

Tagged with , ,

Problems with GData Request Token

with one comment

We have successfully used GData libraries to access a user’s Google Docs. But we encountered problems when many users log in to our site and authorize our web app at the same time or successively.

Here’s what happens:

First user successful logs in, authorizes our web app via OAuth and is able to add rubric (or google spreadsheet).

Second user, immediately after first user adds a rubric, successfully logs in then webapp fails on authorize (Token not given. I tried to log it.)

Third user fails on login.

Fourth user was able to log in, authorize via OAuth, and create rubrics successfully.

Fifth user was able to log in but like the second user, gets an invalid token on authorize (Token not given.)

And the list goes on. Results were unpredicatable.

Below is an excerpt of the stack trace we get when the fail scenario happens:


Nested in org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.NullPointerException:

java.lang.NullPointerException

at com.google.gdata.client.authn.oauth.OAuthUtil.normalizeParameters(OAuthUtil.java:158)

at com.google.gdata.client.authn.oauth.OAuthUtil.getSignatureBaseString(OAuthUtil.java:81)

at com.google.gdata.client.authn.oauth.OAuthHelper.addCommonRequestParameters(OAuthHelper.java:649)

at com.google.gdata.client.authn.oauth.OAuthHelper.getOAuthUrl(OAuthHelper.java:592)

at com.google.gdata.client.authn.oauth.OAuthHelper.getUnauthorizedRequestToken(OAuthHelper.java:276)

at com.projectrix.controller.OAuthController.authorize(OAuthController.java:59)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Method.java:40)

Help!

Written by Daniela

October 1, 2009 at 7:29 am

First Post

leave a comment »

We wanted our thesis to be as organized as possible so we’ve come with some sort of platform where we can work on.

The main thing here is working asynchronously.

We are using Google Calendar for our workflow,

thesis_calendar

Read the rest of this entry »

Written by Jose Asuncion

July 15, 2009 at 4:37 pm