Posts Tagged ‘google spreadsheets’
Intuition in Rubrics
For the rubric to be user-friendly, we’re going to manipulate the created spreadsheet to have a defined template. We’re thinking that criteria column goes to column A and the succeeding columns are for the points arranged from lowest to highest.
Something like this:
This way, users will be guided as to where the definitions should be placed.
Development-wise, since we’re already able to create rubrics, we just have to manipulate it. We’re looking at this API for help.
Will let you know what happens.
Pulling Google Spreadsheets data to Projectrix
I’ve been searching for existing implementations for this until I encountered David Burger’s post:
http://david-burger.blogspot.com/2009/03/display-google-docs-spreadsheet-data-on.html#comment-form
It made me hungry (okay, lame) but I’ll try it out in a bit. This might solve our problem of sending a request to Google Spreadsheets to return an ATOM feed. I also found another way, albeit more complex, using JSON (which I don’t yet have any idea about):
http://blog.uxebu.com/2009/04/30/jsonp-for-google-spreadsheets/
Another task pending is to try out the Jericho HTML parser (as suggested by Jeune).
Will update you if either works.
Rubrics using Google Spreadsheets
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.
Google Spreadsheet to XML
I’ve been looking for tools and tutorials about how can we convert our Google Spreadsheets file to XML so that we can extract the fields for Rubric Generation. Below are the most helpful sites I found:
Tweaking your game with Google Spreadsheets
“It turns out there is an XML feed from public Google spreadsheets.”
Google Spreadsheet to XML Serializer
Tutorial for .NET developers
How to Convert a Google Spreadsheet into JSON, XML, and MySQL
So there are GADGETS in Google Spreadsheets?? Must maximize this tool! *Exploring Spreadsheet gadgets now*
Problems with GData Request Token
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!
